<SEC-DOCUMENT>0001493152-24-019962.txt : 20240515
<SEC-HEADER>0001493152-24-019962.hdr.sgml : 20240515
<ACCEPTANCE-DATETIME>20240515165327
ACCESSION NUMBER:		0001493152-24-019962
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		86
CONFORMED PERIOD OF REPORT:	20240331
FILED AS OF DATE:		20240515
DATE AS OF CHANGE:		20240515

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			FLEXIBLE SOLUTIONS INTERNATIONAL INC
		CENTRAL INDEX KEY:			0001069394
		STANDARD INDUSTRIAL CLASSIFICATION:	MISCELLANEOUS CHEMICAL PRODUCTS [2890]
		ORGANIZATION NAME:           	08 Industrial Applications and Services
		IRS NUMBER:				911922863
		STATE OF INCORPORATION:			NV
		FISCAL YEAR END:			1231

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

	BUSINESS ADDRESS:	
		STREET 1:		2614 QUEENSWOOD DR
		CITY:			VICTORIA B C
		STATE:			A1
		ZIP:			V8N 1X5
		BUSINESS PHONE:		2504779969

	MAIL ADDRESS:	
		STREET 1:		2614 QUEENSWOOD DR
		CITY:			VICTORIA BC CANADA
		STATE:			A1
		ZIP:			V8N 1X5
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>form10-q.htm
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:us-roles="http://fasb.org/us-roles/2024" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:srt="http://fasb.org/srt/2024" xmlns:FSI="http://flexiblesolutions.com/20240331">
<head>
     <title></title>
<meta http-equiv="Content-Type" content="text/html"/>
</head>
<!-- Field: Set; Name: xdx; ID: xdx_02D_US%2DGAAP%2D2024 -->
<!-- Field: Set; Name: xdx; ID: xdx_038_FSI_flexiblesolutions.com_20240331 -->
<!-- Field: Set; Name: xdx; ID: xdx_04C_20240101_20240331 -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DAmendmentFlag_false -->
<!-- Field: Set; Name: xdx; ID: xdx_05F_edei%2D%2DDocumentFiscalPeriodFocus_Q1 -->
<!-- Field: Set; Name: xdx; ID: xdx_051_edei%2D%2DCurrentFiscalYearEndDate_%2D%2DLS0xMi0zMQ== -->
<!-- Field: Set; Name: xdx; ID: xdx_059_edei%2D%2DEntityCentralIndexKey_0001069394 -->
<!-- Field: Set; Name: xdx; ID: xdx_070_XDX_form10%2Dq.xdx -->
<!-- Field: Set; Name: xdx; ID: xdx_06B_USD_1_iso4217%2D%2DUSD -->
<!-- Field: Set; Name: xdx; ID: xdx_062_Shares_2_xbrli%2D%2Dshares -->
<!-- Field: Set; Name: xdx; ID: xdx_06D_USDPShares_3_iso4217%2D%2DUSD_xbrli%2D%2Dshares -->
<!-- Field: Set; Name: xdx; ID: xdx_069_Pure_4_xbrli%2D%2Dpure -->
<!-- Field: Set; Name: xdx; ID: xdx_06D_Segments_0_Segments -->
<!-- Field: Set; Name: xdx; ID: xdx_06E_CAD_0_iso4217%2D%2DCAD -->
<!-- Field: Set; Name: xdx; ID: xdx_06D_sqft_0_utr%2D%2Dsqft -->
<body style="font: 10pt Times New Roman, Times, Serif">
<div style="display: none">
<ix:header>
 <ix:hidden>
  <ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000003" name="dei:AmendmentFlag">false</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000004" name="dei:DocumentFiscalPeriodFocus">Q1</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000005" name="dei:CurrentFiscalYearEndDate">--12-31</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000006" name="dei:EntityCentralIndexKey">0001069394</ix:nonNumeric>
  <ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="xdx2ixbrl0022" name="dei:EntityIncorporationStateCountryCode">A0</ix:nonNumeric>
  <ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2024-03-31" id="xdx2ixbrl0069" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2024-03-31" id="xdx2ixbrl0111" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2024-03-31" id="xdx2ixbrl0120" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="FSI:Commissions" contextRef="From2024-01-01to2024-03-31" id="xdx2ixbrl0246" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="FSI:LeaseTerminationFee" contextRef="From2023-01-012023-03-31" id="xdx2ixbrl0256" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ProceedsFromSaleOfEquityMethodInvestments" contextRef="From2023-01-012023-03-31" id="xdx2ixbrl0375" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" contextRef="From2023-01-012023-03-31" id="xdx2ixbrl0390" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0435" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-03-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0436" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0437" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-03-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0440" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0443" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-012024-03-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0444" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-012024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0446" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0453" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2024-01-012024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0454" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2024-01-012024-03-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0456" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0461" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0463" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-01-012024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0464" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-01-012024-03-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0466" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0489" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-03-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0490" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0491" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-03-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0494" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0497" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-03-31_custom_CapitalInExcessOfParValueMember" id="xdx2ixbrl0498" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0500" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0507" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-012023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0508" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-012023-03-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0510" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" id="xdx2ixbrl0515" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember" id="xdx2ixbrl0517" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="xdx2ixbrl0518" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-03-31_us-gaap_NoncontrollingInterestMember" id="xdx2ixbrl0520" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2024-03-31" id="xdx2ixbrl0676" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2024-03-31" id="xdx2ixbrl0692" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-03-31_us-gaap_LandMember" id="xdx2ixbrl0736" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-03-31_us-gaap_LeaseholdImprovementsMember" id="xdx2ixbrl0740" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-03-31_us-gaap_DevelopedTechnologyRightsMember" id="xdx2ixbrl0743" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_LandMember" id="xdx2ixbrl0763" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember" id="xdx2ixbrl0767" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember" id="xdx2ixbrl0770" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2023-12-31_custom_EnpPeruInvestmentsLlcMember" id="xdx2ixbrl0877" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2024-03-31_custom_EnpPeruInvestmentsLlcMember" id="xdx2ixbrl0879" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2024-03-31" id="xdx2ixbrl0887" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2023-12-31" id="xdx2ixbrl0889" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ShortTermBorrowings" contextRef="AsOf2024-03-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember" id="xdx2ixbrl0972" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ShortTermBorrowings" contextRef="AsOf2023-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember" id="xdx2ixbrl0974" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2023-01-012023-03-31_custom_MendotaMember_custom_TermLoanMember" id="xdx2ixbrl1047" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2023-01-012023-03-31_custom_ConsultantsMember" id="xdx2ixbrl1195" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="From2023-01-012023-03-31_custom_ConsultantsMember" id="xdx2ixbrl1199" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="FSI:AdditionalExpensesDueToOptionsGranted" contextRef="From2024-01-012024-03-31_custom_ConsultantsMember" id="xdx2ixbrl1201" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2023-01-012023-03-31_custom_EmployeesMember" id="xdx2ixbrl1207" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="From2023-01-012023-03-31_custom_EmployeesMember" id="xdx2ixbrl1211" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2024-01-012024-03-31_custom_ConsultantsMember" id="xdx2ixbrl1219" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2023-01-012023-03-31_custom_ConsultantsMember" id="xdx2ixbrl1223" unitRef="Shares" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" contextRef="AsOf2024-03-31_us-gaap_CanadaRevenueAgencyMember" id="xdx2ixbrl1229" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2022-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="xdx2ixbrl1285" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2024-01-012024-03-31_custom_EWCPMember_custom_SegmentMember" id="xdx2ixbrl1307" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2024-01-012024-03-31_custom_EWCPMember_custom_SegmentMember" id="xdx2ixbrl1327" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2023-01-012023-03-31_custom_EWCPMember_custom_SegmentMember" id="xdx2ixbrl1335" unitRef="USD" xs:nil="true"/>
  <ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-012023-03-31_custom_EWCPMember_custom_SegmentMember" id="xdx2ixbrl1355" unitRef="USD" xs:nil="true"/>
  </ix:hidden>
 <ix:references>
  <link:schemaRef xlink:href="fsi-20240331.xsd" xlink:type="simple"/>
  </ix:references>
 <ix:resources>
    <xbrli:context id="From2024-01-01to2024-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-05-15">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-05-15</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="From2023-01-012023-03-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</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="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="From2023-01-012023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</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="From2023-01-012023-03-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</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="From2023-01-012023-03-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</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="AsOf2024-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2023-03-31_custom_CapitalInExcessOfParValueMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2023-03-31_us-gaap_ParentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31_us-gaap_NoncontrollingInterestMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_custom_MendotaLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_custom_ENPInvestmentsLLCAndENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCAndENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-01-012022-12-31_custom_ENPPeruMember_custom_UnrelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:UnrelatedPartyMember</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="From2022-01-012022-12-31_custom_ENPPeruMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</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="From2023-01-012023-12-31_custom_ENPPeruMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_MendotaLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_MendotaLLCMember_custom_UnrelatedPartyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:UnrelatedPartyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_FirstTermMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:FirstTermMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_SecondTermMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:SecondTermMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_ThirdTermMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:ThirdTermMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_FourthTermMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:FourthTermMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_FifthTermMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:FifthTermMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_ShippingAndHandlingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_us-gaap_ShippingAndHandlingMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</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="From2024-01-012024-03-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</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="From2024-01-012024-03-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_custom_InvestmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:InvestmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_MachineryAndEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_OfficeEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_BuildingAndBuildingImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_AutomobilesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_TechnologyEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:TechnologyEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_CustomerRelationshipsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_BuildingAndBuildingImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_AutomobilesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_OfficeEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_MachineryAndEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_LandMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_DevelopedTechnologyRightsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_AutomobilesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_OfficeEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_LandMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_EnPInvestmentsCorporationLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_EnPInvestmentsCorporationLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_EnPInvestmentsCorporationLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_custom_EnPInvestmentsCorporationLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_EnPInvestmentsCorporationLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_FiniteLivedIntangibleAssetsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:FiniteLivedIntangibleAssetsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2016-12-31_custom_EnpPeruInvestmentsLlcMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2016-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2016-12-31_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2016-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2016-12-31_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2016-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-06-012022-06-30_custom_ENPPeruMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</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="AsOf2022-06-30_custom_ENPPeruMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_EnpnvestmentsLlcMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:EnpnvestmentsLlcMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2018-12-31_custom_AppliedHoldingCorpMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:AppliedHoldingCorpMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2018-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-10-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-10-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2018-12-31_custom_TrioOpportunityCorpMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2018-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-04-30_custom_TrioOpportunityCorpMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-04-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2018-12-012018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2018-12-01</xbrli:startDate>
        <xbrli:endDate>2018-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2018-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-01-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2019-01-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</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="AsOf2024-03-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-12-012020-12-31_custom_LygosIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-12-01</xbrli:startDate>
        <xbrli:endDate>2020-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-012021-12-31_custom_LygosIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</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="AsOf2021-12-31_custom_LygosIncMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_custom_EnpPeruInvestmentsLlcMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_EnpPeruInvestmentsLlcMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_EnpPeruInvestmentsLlcMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_EnpPeruInvestmentsLlcMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_FloridaBasedLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-06-012023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-06-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_NoncontrollingInterestMember_custom_StockYardAndBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-06-012023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-06-01</xbrli:startDate>
        <xbrli:endDate>2023-06-30</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-01-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-01-31_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpRealtyLLCMember</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="AsOf2020-01-31_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpRealtyLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-01-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</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="From2024-01-012024-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</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="AsOf2024-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-06-012022-06-30_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpRealtyLLCMember</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="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</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="AsOf2024-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-01-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</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="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</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="AsOf2024-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2022-06-012022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</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="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_ENPPeruInvestmentsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</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="AsOf2024-03-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_TermLoanMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_custom_TermLoanMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_custom_TermLoanMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</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="AsOf2024-03-31_custom_TermLoanMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TermLoanMember_custom_NanoChemMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-06-30_custom_TermLoanMember_custom_MendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-06-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_custom_MendotaMember_custom_TermLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_custom_MendotaMember_custom_TermLoanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</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="AsOf2024-03-31_custom_TermLoanMember_custom_MendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_TermLoanMember_custom_MendotaMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_StockYardsBankTrustMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardsBankTrustMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_StockYardsBankTrustOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardsBankTrustOneMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustOneMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_StockYardsBankTrustTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardsBankTrustTwoMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustTwoMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_StockYardsBankTrustThreeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustThreeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardsBankTrustThreeMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustThreeMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_StockYardsBankTrustFourMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFourMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardsBankTrustFourMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFourMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_StockYardsBankTrustFiveMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFiveMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_StockYardsBankTrustFiveMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFiveMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_custom_ConsultantsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:ConsultantsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_custom_ConsultantsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:ConsultantsMember</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="From2024-01-012024-03-31_custom_EmployeesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeesMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_custom_EmployeesMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeesMember</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="AsOf2024-03-31_us-gaap_CanadaRevenueAgencyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31_us-gaap_CanadaRevenueAgencyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_CanadaRevenueAgencyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_us-gaap_CanadaRevenueAgencyMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</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="AsOf2022-12-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <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-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <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-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</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="From2024-01-012024-03-31_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_custom_ENPInvestmentsLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</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="AsOf2023-12-31_custom_ENPInvestmentsLLCMember65959328">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_MendotaLLCMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2022-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2022-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2023-01-01</xbrli:startDate>
        <xbrli:endDate>2023-12-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-03-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</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="From2024-01-012024-03-31_custom_EWCPMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_custom_BCPAMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:BCPAMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2024-01-012024-03-31_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_custom_EWCPMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</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="From2023-01-012023-03-31_custom_BCPAMember_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:BCPAMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</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="From2023-01-012023-03-31_custom_SegmentMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</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="From2024-01-012024-03-31_country_CA">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_country_CA">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</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="From2024-01-012024-03-31_custom_UnitedStatesandAbroadMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">FSI:UnitedStatesandAbroadMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2024-01-01</xbrli:startDate>
        <xbrli:endDate>2024-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2023-01-012023-03-31_custom_UnitedStatesandAbroadMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">FSI:UnitedStatesandAbroadMember</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="AsOf2024-03-31_country_CA">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_country_CA">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-03-31_country_US">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2023-12-31_country_US">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2023-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2024-04-30_us-gaap_SubsequentEventMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001069394</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2024-04-30</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:unit id="USD">
      <xbrli:measure>iso4217:USD</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="Shares">
      <xbrli:measure>xbrli:shares</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="USDPShares">
      <xbrli:divide>
        <xbrli:unitNumerator>
          <xbrli:measure>iso4217:USD</xbrli:measure>
        </xbrli:unitNumerator>
        <xbrli:unitDenominator>
          <xbrli:measure>xbrli:shares</xbrli:measure>
        </xbrli:unitDenominator>
      </xbrli:divide>
    </xbrli:unit>
    <xbrli:unit id="Pure">
      <xbrli:measure>xbrli:pure</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="Segments">
      <xbrli:measure>FSI:Segments</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="CAD">
      <xbrli:measure>iso4217:CAD</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="sqft">
      <xbrli:measure>utr:sqft</xbrli:measure>
    </xbrli:unit>
  </ix:resources>
 </ix:header>
</div>


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

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

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

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

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

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

<p style="font: bold 12pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 12pt"><b>Washington,
DC 20549</b></span></p>

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

<p style="font: bold 18pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b>FORM
<span id="xdx_90E_edei--DocumentType_c20240101__20240331_zf5zUi5SZqXb"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000015" name="dei:DocumentType">10-Q</ix:nonNumeric></span></b></span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_edei--DocumentQuarterlyReport_c20240101__20240331_zawpTFQ8Onkb"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt:booleantrue" id="Fact000016" name="dei:DocumentQuarterlyReport">&#9746;</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">QUARTERLY
    REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
the quarterly period ended <span id="xdx_900_edei--DocumentPeriodEndDate_c20240101__20240331_zRMgVBoKsj75"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt:datemonthdayyearen" id="Fact000017" name="dei:DocumentPeriodEndDate">March 31, <span id="xdx_90F_edei--DocumentFiscalYearFocus_c20240101__20240331_z2RKcJUWgnJ2"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000018" name="dei:DocumentFiscalYearFocus">2024</ix:nonNumeric></span></ix:nonNumeric></span></span></p>

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

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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_edei--DocumentTransitionReport_c20240101__20240331_z2qarKtk4uOh"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt:booleanfalse" id="Fact000019" name="dei:DocumentTransitionReport">&#9744;</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TRANSITION
    REPORT PURSUANT TO 13 OR 15(D) OF THE SECURITIES EXCHANGE ACT OF 1934</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Commission
File Number: <span id="xdx_901_edei--EntityFileNumber_c20240101__20240331_zBHgJBuaixfc"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000020" name="dei:EntityFileNumber">001-31540</ix:nonNumeric></span></span></p>

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

<p style="font: bold 18pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 18pt"><b><span id="xdx_90F_edei--EntityRegistrantName_c20240101__20240331_zgj8jDwJmnIg"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000021" name="dei:EntityRegistrantName">FLEXIBLE
SOLUTIONS INTERNATIONAL INC.</ix:nonNumeric></span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Exact
Name of registrant as Specified in Its Charter)</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-bottom: black 1.5pt solid; vertical-align: bottom; font: 10pt Times New Roman, Times, Serif; width: 49%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90A_edei--EntityIncorporationStateCountryCode_dxL_c20240101__20240331_z1Mwu7yTgsC7" title="::XDX::A0"><span style="-sec-ix-hidden: xdx2ixbrl0022">Alberta</span></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; vertical-align: bottom; font: 10pt Times New Roman, Times, Serif; width: 49%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_905_edei--EntityTaxIdentificationNumber_c20240101__20240331_zQqxOcFfWtZ8"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000023" name="dei:EntityTaxIdentificationNumber">71-1630889</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(State
    or other jurisdiction of</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Employer</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">incorporation
    or organization)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Identification
    No.)</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 49%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_edei--EntityAddressAddressLine1_c20240101__20240331_zjKAs4oG3xx6"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000024" name="dei:EntityAddressAddressLine1">6001
    54 Ave.</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 49%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; vertical-align: bottom; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_edei--EntityAddressCityOrTown_c20240101__20240331_zBikRbYft436"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000025" name="dei:EntityAddressCityOrTown">Taber</ix:nonNumeric></span>,
    <span id="xdx_903_edei--EntityAddressStateOrProvince_c20240101__20240331_zGuYlKpHx5mk"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt-sec:stateprovnameen" id="Fact000026" name="dei:EntityAddressStateOrProvince">Alberta</ix:nonNumeric></span>, <span id="xdx_908_edei--EntityAddressCountry_c20240101__20240331_zYj78IT0vwEi"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt-sec:countrynameen" id="Fact000027" name="dei:EntityAddressCountry">Canada</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; vertical-align: bottom; font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90B_edei--EntityAddressPostalZipCode_c20240101__20240331_zaqT1k3CQvPf"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000028" name="dei:EntityAddressPostalZipCode">T1G
    1X4</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Address
    of Principal Executive Offices)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(Zip
    Code)</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Registrant&#8217;s
telephone number: <span id="xdx_90A_edei--CityAreaCode_c20240101__20240331_zon8NmjPS3Gc"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000029" name="dei:CityAreaCode">(403)</ix:nonNumeric></span> <span id="xdx_908_edei--LocalPhoneNumber_c20240101__20240331_zJMfX02VNDra"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000030" name="dei:LocalPhoneNumber">223-2995</ix:nonNumeric></span></span></p>

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

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

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

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

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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-bottom: black 1.5pt solid; vertical-align: bottom; font: 10pt Times New Roman, Times, Serif; width: 42%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title
    of each class</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; vertical-align: bottom; font: 10pt Times New Roman, Times, Serif; width: 18%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Trading
    Symbol(s)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; vertical-align: bottom; font: 10pt Times New Roman, Times, Serif; width: 36%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name
    of each exchange on which registered</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_907_edei--Security12bTitle_c20240101__20240331_zsYkuNxKFdM5"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000031" name="dei:Security12bTitle">Common
    Stock</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_edei--TradingSymbol_c20240101__20240331_zJwkDPzlGzta"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000032" name="dei:TradingSymbol">FSI</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_edei--SecurityExchangeName_c20240101__20240331_zYSWOzi9iTd1"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt-sec:exchnameen" id="Fact000033" name="dei:SecurityExchangeName">NYSE
    American</ix:nonNumeric></span></span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Yes &#9744; No &#9746;</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted and posted 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 and
post such files). <span id="xdx_90D_edei--EntityInteractiveDataCurrent_c20240101__20240331_z37wrlLjIPIg"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" id="Fact000035" name="dei:EntityInteractiveDataCurrent">Yes</ix:nonNumeric></span> &#9746; No &#9744;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, 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></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 50%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Large
    accelerated filer &#9744;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 50%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accelerated
    filer &#9744;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_edei--EntityFilerCategory_c20240101__20240331_zk97fj6AMJc4"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt-sec:entityfilercategoryen" id="Fact000036" name="dei:EntityFilerCategory">Non-accelerated
    filer</ix:nonNumeric></span> &#9746;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Smaller
    reporting company <span id="xdx_903_edei--EntitySmallBusiness_c20240101__20240331_zeuz52SuKIG1"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt:booleantrue" id="Fact000037" name="dei:EntitySmallBusiness">&#9746;</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Emerging
    growth company <span id="xdx_90E_edei--EntityEmergingGrowthCompany_c20240101__20240331_zRiuF7AMOVP3"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt:booleanfalse" id="Fact000038" name="dei:EntityEmergingGrowthCompany">&#9744;</ix:nonNumeric></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying
with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. &#9744;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Indicate
by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act): &#9744; Yes <span id="xdx_903_edei--EntityShellCompany_dbF_c20240101__20240331_zqLhZvUi83u3"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt:booleanfalse" id="Fact000039" name="dei:EntityShellCompany">&#9746;</ix:nonNumeric></span> No</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-bottom: black 1.5pt solid; vertical-align: bottom; font: 10pt Times New Roman, Times, Serif; width: 32%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Class
    of Stock</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; vertical-align: bottom; font: 10pt Times New Roman, Times, Serif; width: 32%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">No.
    Shares Outstanding</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 2%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; vertical-align: bottom; font: 10pt Times New Roman, Times, Serif; width: 32%; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Date</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Common</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90B_edei--EntityCommonStockSharesOutstanding_iI_pid_c20240515_zec7bn8XfyEf"><ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="AsOf2024-05-15" id="Fact000040" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,450,532</ix:nonFraction></span></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">May
    15, 2024</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>&#160;</b></span></p>

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

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

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


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

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

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

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

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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>PART
    I.</b></span></td>
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><a href="#n_001">FINANCIAL INFORMATION</a></b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 0.25in; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; width: 0.5in; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    1.</span></td>
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#n_002">Financial Statements.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#n_003">Unaudited Condensed Interim Consolidated Balance Sheets at March 31, 2024 and December 31, 2023.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#n_004">Unaudited Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Loss) for the Three Months Ended March 31, 2024 and 2023.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">4</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#n_005">Unaudited Condensed Interim Consolidated Statements of Cash Flows for the Three Months Ended March 31, 2024 and 2023.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">5</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#n_006">Unaudited
    Condensed Interim Consolidated Statements of Stockholders&#8217; Equity for the Three a Months Ended March 31, 2024 and
    2023.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">6</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(e)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#n_007">Notes to Unaudited Condensed Interim Consolidated Financial Statements for the Period Ended March 31, 2024.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">7</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    2.</span></td>
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#n_008">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operation.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">23</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    4. </span></td>
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#n_009">Controls and Procedures.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">25</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>PART
    II.</b></span></td>
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><a href="#n_010">OTHER INFORMATION</a></b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">25</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top">Item 5.</td>
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><a href="#ab_001">Other Information.</a></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center">25</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item
    6.</span></td>
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="#n_011">Exhibits.</a></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">25</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: White">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; background-color: rgb(204,238,255)">
    <td colspan="3" style="font: 10pt Times New Roman, Times, Serif; text-align: justify; vertical-align: top"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><a href="#n_012">SIGNATURES</a></b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; vertical-align: top; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">26</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>CAUTIONARY
NOTE REGARDING FORWARD-LOOKING STATEMENTS</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">This
document contains &#8220;forward-looking statements&#8221; within the meaning of the Private Securities Litigation Reform Act of 1995.
All statements other than statements of historical fact are &#8220;forward-looking statements&#8221; for the purposes of the federal
and state securities laws, including, but not limited to: any projections of earnings, revenue or other financial items; any statements
of the plans, strategies and objectives of management for future operations; any statements concerning proposed new services or developments;
any statements regarding future economic conditions or performance; any statements of belief; and any statements of assumptions underlying
any of the foregoing.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Forward-looking
statements may include the words &#8220;may,&#8221; &#8220;could,&#8221; &#8220;will,&#8221; &#8220;estimate,&#8221; &#8220;intend,&#8221;
&#8220;continue,&#8221; &#8220;believe,&#8221; &#8220;expect&#8221; or &#8220;anticipate&#8221; or other similar words. These forward-looking
statements present our estimates and assumptions only as of the date of this report. Except for our ongoing obligation to disclose material
information as required by the federal securities laws, we do not intend, and undertake no obligation, to update any forward-looking
statement.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Although
we believe that the expectations reflected in any of our forward-looking statements are reasonable, actual results could differ materially
from those projected or assumed in any of our forward-looking statements. Our future financial condition and results of operations, as
well as any forward-looking statements, are subject to change and inherent risks and uncertainties. The factors impacting these risks
and uncertainties include but are not limited to:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
    competitive pressures from existing competitors and new entrants;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increases
    in interest rates or our cost of borrowing or a default under any material debt agreement;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deterioration
    in general or regional economic conditions;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Adverse
    state or federal legislation or regulation that increases the costs of compliance, or adverse findings by a regulator with respect
    to existing operations;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Loss
    of customers or sales weakness;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inability
    to achieve future sales levels or other operating results;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
    unavailability of funds for capital expenditures; </span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Operational
    inefficiencies in distribution or other systems; and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">New
    tariffs relating to raw materials imported from China.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For
a detailed description of these and other factors that could cause actual results to differ materially from those expressed in any forward-looking
statement, please see &#8220;Risk Factors&#8221; in our Annual Report on Form 10-K for the year ended December 31, 2023.</span></p>

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


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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="n_002"></span>Item
1. Financial Statements.</b></span></p>

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

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

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

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

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

<table cellpadding="0" cellspacing="0" id="xdx_30C_111_zuImhAXTpK5h" summary="xdx: Statement - Condensed Interim Consolidated Balance Sheets" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49B_20240331_zOkyDK08Ufkk" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">March 31, 2024</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_498_20231231_zkM4UTLkmVgk" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">December 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="vertical-align: bottom; font-weight: bold; text-align: center">(Unaudited)</td><td style="text-align: center; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="vertical-align: bottom; text-align: center">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AssetsAbstract_iB_zVt9mPQuLDb9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AssetsCurrentAbstract_i01B_zLxW8vg0clSj" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">Current</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--Cash_i02I_maCzqht_zc2RkvpLPisj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; width: 64%">Cash</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:Cash" contextRef="AsOf2024-03-31" id="Fact000048" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,302,954</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:Cash" contextRef="AsOf2023-12-31" id="Fact000049" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,017,583</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepositsAssetsCurrent_i02I_maCzqht_z4Qjkc69zynb" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Term deposits (Note 2)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsCurrent" contextRef="AsOf2024-03-31" id="Fact000051" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,023,757</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsCurrent" contextRef="AsOf2023-12-31" id="Fact000052" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,690,241</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--AccountsReceivableNetCurrent_i02I_maCzqht_zAx85x92LqHk" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Accounts receivable, net (Note 4)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2024-03-31" id="Fact000054" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,992,543</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2023-12-31" id="Fact000055" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,843,056</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--InventoryNet_i02I_maCzqht_zlaALhSTzijl" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Inventories (Note 5)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2024-03-31" id="Fact000057" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,459,256</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2023-12-31" id="Fact000058" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,134,889</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--PrepaidExpenseCurrent_i02I_maCzqht_zt2BPpPdyeg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Prepaid expenses and deposits</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PrepaidExpenseCurrent" contextRef="AsOf2024-03-31" id="Fact000060" format="ixt:numdotdecimal" decimals="0" unitRef="USD">741,495</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PrepaidExpenseCurrent" contextRef="AsOf2023-12-31" id="Fact000061" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,540,923</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AssetsCurrent_i02TI_mtCzqht_maCzIMf_zEzRymLIzQta" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Total current assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2024-03-31" id="Fact000063" format="ixt:numdotdecimal" decimals="0" unitRef="USD">32,520,005</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="AsOf2023-12-31" id="Fact000064" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,226,692</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--PropertyPlantAndEquipmentNet_i01I_maCzIMf_ztGhev4OlwW" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Property, equipment and leaseholds, net (Note 6)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-03-31" id="Fact000066" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,267,240</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31" id="Fact000067" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,171,787</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--OperatingLeaseRightOfUseAsset_i01I_maCzIMf_zn65Ia6in6X1" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Right of use assets (Note 3)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0069">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-12-31" id="Fact000070" format="ixt:numdotdecimal" decimals="0" unitRef="USD">115,293</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--IntangibleAssetsNetExcludingGoodwill_i01I_maCzIMf_zkc56ISNiWs1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Intangible assets (Note 7)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2024-03-31" id="Fact000072" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,240,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="AsOf2023-12-31" id="Fact000073" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,280,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--DepositsAssetsNoncurrent_i01I_maCzIMf_z9qFdtl80tpj" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Long term deposits (Note 8)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsNoncurrent" contextRef="AsOf2024-03-31" id="Fact000075" format="ixt:numdotdecimal" decimals="0" unitRef="USD">840,592</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepositsAssetsNoncurrent" contextRef="AsOf2023-12-31" id="Fact000076" format="ixt:numdotdecimal" decimals="0" unitRef="USD">824,254</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--EquityMethodInvestments_i01I_maCzIMf_zSPp6Lsd1wY6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Investments (Note 9)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2024-03-31" id="Fact000078" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,889,161</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2023-12-31" id="Fact000079" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,033,960</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--Goodwill_i01I_maCzIMf_zG5tOD4BfGLh" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Goodwill (Note 7)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2024-03-31" id="Fact000081" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,534,275</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2023-12-31" id="Fact000082" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,534,275</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--DeferredIncomeTaxAssetsNet_i01I_maCzIMf_z1DO0DNF51Pa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Deferred tax asset (Note 2)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="AsOf2024-03-31" id="Fact000084" format="ixt:numdotdecimal" decimals="0" unitRef="USD">284,794</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" contextRef="AsOf2023-12-31" id="Fact000085" format="ixt:numdotdecimal" decimals="0" unitRef="USD">284,794</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--Assets_i01TI_mtCzIMf_z70N9OXLyiB1" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 2.5pt">Total Assets</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2024-03-31" id="Fact000087" format="ixt:numdotdecimal" decimals="0" unitRef="USD">57,576,067</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:Assets" contextRef="AsOf2023-12-31" id="Fact000088" format="ixt:numdotdecimal" decimals="0" unitRef="USD">55,471,055</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--LiabilitiesAbstract_iB_zdza1hYpha58" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold">Liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--LiabilitiesCurrentAbstract_i01B_zlNW4rTwUiI7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Current</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--AccountsPayableCurrent_i02I_maCzuqm_zHMYSA98Gfg2" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Accounts payable</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2024-03-31" id="Fact000096" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,397,915</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2023-12-31" id="Fact000097" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,984,592</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--AccruedLiabilitiesCurrent_i02I_maCzuqm_zjqeo3fZ0C4a" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Accrued liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2024-03-31" id="Fact000099" format="ixt:numdotdecimal" decimals="0" unitRef="USD">699,005</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2023-12-31" id="Fact000100" format="ixt:numdotdecimal" decimals="0" unitRef="USD">284,131</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--DeferredRevenueCurrent_i02I_maCzuqm_zYevJ35FC3k4" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred revenue</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredRevenueCurrent" contextRef="AsOf2024-03-31" id="Fact000102" format="ixt:numdotdecimal" decimals="0" unitRef="USD">131,827</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredRevenueCurrent" contextRef="AsOf2023-12-31" id="Fact000103" format="ixt:numdotdecimal" decimals="0" unitRef="USD">148,292</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--TaxesPayableCurrent_i02I_maCzuqm_ziSp0tWpDBQg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Income taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:TaxesPayableCurrent" contextRef="AsOf2024-03-31" id="Fact000105" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,749,391</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:TaxesPayableCurrent" contextRef="AsOf2023-12-31" id="Fact000106" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,485,213</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LinesOfCreditCurrent_i02I_maCzuqm_zrsN6QRvnrX3" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Short term line of credit (Note 10)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="AsOf2024-03-31" id="Fact000108" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,259,935</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="AsOf2023-12-31" id="Fact000109" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,810,479</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--OperatingLeaseLiabilityCurrent_i02I_maCzuqm_z3nEdpbm9E9b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Current portion of lease liability (Note 3)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0111">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2023-12-31" id="Fact000112" format="ixt:numdotdecimal" decimals="0" unitRef="USD">59,520</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebtCurrent_i02I_maCzuqm_zYmHCrO5v7Dg" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Current portion of long term debt (Note 11)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtCurrent" contextRef="AsOf2024-03-31" id="Fact000114" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,665,440</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtCurrent" contextRef="AsOf2023-12-31" id="Fact000115" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,281,632</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--LiabilitiesCurrent_i02TI_mtCzuqm_maCzpZk_zroihMkFE3hg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Total current liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2024-03-31" id="Fact000117" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,903,513</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2023-12-31" id="Fact000118" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,053,859</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--OperatingLeaseLiabilityNoncurrent_i01I_maCzpZk_zeuSMDuqUYsl" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: justify">Lease liability (Note 3)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0120">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2023-12-31" id="Fact000121" format="ixt:numdotdecimal" decimals="0" unitRef="USD">55,773</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--DeferredIncomeTaxLiabilitiesNet_i01I_maCzpZk_zNn4hUBQqpl8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: justify">Deferred income tax liability (Note 2)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="AsOf2024-03-31" id="Fact000123" format="ixt:numdotdecimal" decimals="0" unitRef="USD">260,047</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="AsOf2023-12-31" id="Fact000124" format="ixt:numdotdecimal" decimals="0" unitRef="USD">260,047</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LongTermDebtNoncurrent_i01I_maCzpZk_z2r2UI1GgIq3" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: justify; padding-bottom: 1.5pt">Long term debt (Note 11)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtNoncurrent" contextRef="AsOf2024-03-31" id="Fact000126" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,321,396</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtNoncurrent" contextRef="AsOf2023-12-31" id="Fact000127" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,833,304</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--Liabilities_i01TI_mtCzpZk_maCzLnb_zrdLyNB2y6fc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Total Liabilities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2024-03-31" id="Fact000129" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,484,956</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:Liabilities" contextRef="AsOf2023-12-31" id="Fact000130" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,202,983</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--StockholdersEquityAbstract_i01B_znWSPvtsOpKd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Stockholders&#8217; Equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Capital stock (Note 13)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Authorized: <span id="xdx_906_eus-gaap--CommonStockSharesAuthorized_iI_c20240331_zdixCB0qXRsk" title="Common stock, shares authorized"><span id="xdx_905_eus-gaap--CommonStockSharesAuthorized_iI_c20231231_z6fBqlzrQBuf" title="Common stock, shares authorized"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2024-03-31" id="Fact000135" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2023-12-31" id="Fact000137" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">50,000,000</ix:nonFraction></ix:nonFraction></span></span> common shares with a par value of $<span id="xdx_902_eus-gaap--CommonStockParOrStatedValuePerShare_iI_pid_c20240331_zU3yS67umgeg" title="Common stock, par value"><span id="xdx_905_eus-gaap--CommonStockParOrStatedValuePerShare_iI_pid_c20231231_zfE1R2ftQIea" title="Common stock, par value"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2024-03-31" id="Fact000139" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31" id="Fact000141" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.001</ix:nonFraction></ix:nonFraction></span></span> each; <span id="xdx_90A_eus-gaap--PreferredStockSharesAuthorized_iI_c20240331_zvWlhT49vLWg" title="Preferred stock, shares authorized"><span id="xdx_90A_eus-gaap--PreferredStockSharesAuthorized_iI_c20231231_zs8bNAc2I0m1" title="Preferred stock, shares authorized"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2024-03-31" id="Fact000143" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2023-12-31" id="Fact000145" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,000,000</ix:nonFraction></ix:nonFraction></span></span> preferred shares with a par value of $<span id="xdx_908_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_pid_c20240331_zRJYIP4CQvfh" title="Preferred stock, par value"><span id="xdx_905_eus-gaap--PreferredStockParOrStatedValuePerShare_iI_pid_c20231231_zma8DcdBgAEe" title="Preferred stock, par value"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2024-03-31" id="Fact000147" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:PreferredStockParOrStatedValuePerShare" contextRef="AsOf2023-12-31" id="Fact000149" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.01</ix:nonFraction></ix:nonFraction></span></span> each</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Issued and outstanding:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--CommonStockValue_i02I_maCzKRs_zsumW8yenuLf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt"><span id="xdx_905_eus-gaap--CommonStockSharesIssued_iI_c20240331_zhe7mrSPdCT8" title="Common stock, shares issued"><span id="xdx_90C_eus-gaap--CommonStockSharesOutstanding_iI_c20240331_zUjxXD4hJhR7" title="Common stock, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2024-03-31" id="Fact000154" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2024-03-31" id="Fact000156" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,450,532</ix:nonFraction></ix:nonFraction></span></span> (December 31, 2023: <span id="xdx_90E_eus-gaap--CommonStockSharesIssued_iI_c20231231_zJtXm2ejZc0b" title="Common stock, shares issued"><span id="xdx_90D_eus-gaap--CommonStockSharesOutstanding_iI_c20231231_ztSf3wjQGGT8" title="Common stock, shares outstanding"><ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2023-12-31" id="Fact000158" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2023-12-31" id="Fact000160" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,432,523</ix:nonFraction></ix:nonFraction></span></span>) common shares</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2024-03-31" id="Fact000151" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,451</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2023-12-31" id="Fact000152" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,436</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--CommonStockValue_i02I_maCzKRs_zoTZRWd09pt" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Common stock, value</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2024-03-31" id="Fact000162" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,451</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="AsOf2023-12-31" id="Fact000163" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,436</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--AdditionalPaidInCapital_i02I_maCzKRs_zABgxTlP3rP4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Capital in excess of par value</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapital" contextRef="AsOf2024-03-31" id="Fact000165" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,211,607</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AdditionalPaidInCapital" contextRef="AsOf2023-12-31" id="Fact000166" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,932,015</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AccumulatedOtherComprehensiveIncomeLossNetOfTax_i02I_maCzKRs_zTAIzrX495Zk" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Other comprehensive loss</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2024-03-31" id="Fact000168" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">767,923</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2023-12-31" id="Fact000169" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">795,146</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_402_eus-gaap--RetainedEarningsAccumulatedDeficit_i02I_maCzKRs_z7lDdvm6bOyi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Accumulated earnings</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2024-03-31" id="Fact000171" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,510,277</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2023-12-31" id="Fact000172" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,053,051</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--StockholdersEquity_i02TI_mtCzKRs_maCzAZ6_zjCquUw6QvQg" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Total stockholders&#8217; equity &#8211; controlling interest</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2024-03-31" id="Fact000174" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,966,412</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31" id="Fact000175" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,202,356</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--MinorityInterest_i02I_maCzAZ6_zBGQSX3aWkZf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Non-controlling interests (Note 14)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2024-03-31" id="Fact000177" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,124,699</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2023-12-31" id="Fact000178" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,065,716</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_i02TI_mtCzAZ6_maCzLnb_zkQ6bmxc5XB4" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Total Stockholders&#8217; Equity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31" id="Fact000180" format="ixt:numdotdecimal" decimals="0" unitRef="USD">39,091,111</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31" id="Fact000181" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,268,072</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--LiabilitiesAndStockholdersEquity_i02TI_mtCzLnb_zLScX7fK8THg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 2.5pt">Total Liabilities and Stockholders&#8217; Equity</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2024-03-31" id="Fact000183" format="ixt:numdotdecimal" decimals="0" unitRef="USD">57,576,067</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2023-12-31" id="Fact000184" format="ixt:numdotdecimal" decimals="0" unitRef="USD">55,471,055</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#8212;
See Notes to Unaudited Condensed Interim Consolidated Financial Statements &#8212;</span></p>

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


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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="n_004"></span>CONDENSED
INTERIM CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(U.S.
Dollars &#8212; Unaudited)</b></span></p>

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

<table cellpadding="0" cellspacing="0" id="xdx_30E_113_zGYdKFhjocSf" summary="xdx: Statement - Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Loss) (Unaudited)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49C_20240101__20240331_z2DQ2guMSUf9" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">2024</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49A_20230101__20230331_zhZBY84pdcS4" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">Three Months Ended March 31,</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">2024</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_maCzHmb_znI5Svy69eS9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%; font-weight: bold">Sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-01to2024-03-31" id="Fact000186" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,224,872</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31" id="Fact000187" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,847,517</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--CostOfGoodsAndServicesSold_msCzHmb_zJ7QPAYFbr38" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; padding-bottom: 1.5pt">Cost of sales</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2024-01-01to2024-03-31" id="Fact000189" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,404,505</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2023-01-012023-03-31" id="Fact000190" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,762,525</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--GrossProfit_iT_mtCzHmb_maCzKrN_zrFB6HX8KNNd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Gross profit</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2024-01-01to2024-03-31" id="Fact000192" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,820,367</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="From2023-01-012023-03-31" id="Fact000193" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,084,992</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--OperatingExpensesAbstract_iB_zuRjEhHm64Nf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Operating Expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--SalariesAndWages_i01_maCza8m_zofi57VwIpgc" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Wages</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SalariesAndWages" contextRef="From2024-01-01to2024-03-31" id="Fact000198" format="ixt:numdotdecimal" decimals="0" unitRef="USD">651,158</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SalariesAndWages" contextRef="From2023-01-012023-03-31" id="Fact000199" format="ixt:numdotdecimal" decimals="0" unitRef="USD">671,692</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--OfficersCompensation_i01_maCza8m_zHAD8U91dnri" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Administrative salaries and benefits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OfficersCompensation" contextRef="From2024-01-01to2024-03-31" id="Fact000201" format="ixt:numdotdecimal" decimals="0" unitRef="USD">417,859</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OfficersCompensation" contextRef="From2023-01-012023-03-31" id="Fact000202" format="ixt:numdotdecimal" decimals="0" unitRef="USD">393,014</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--GeneralInsuranceExpense_i01_maCza8m_zL3RClv7DL29" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Insurance</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GeneralInsuranceExpense" contextRef="From2024-01-01to2024-03-31" id="Fact000204" format="ixt:numdotdecimal" decimals="0" unitRef="USD">244,260</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GeneralInsuranceExpense" contextRef="From2023-01-012023-03-31" id="Fact000205" format="ixt:numdotdecimal" decimals="0" unitRef="USD">201,530</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--InterestExpense_i01_maCza8m_z9sI9iVjoLn1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2024-01-01to2024-03-31" id="Fact000207" format="ixt:numdotdecimal" decimals="0" unitRef="USD">175,266</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2023-01-012023-03-31" id="Fact000208" format="ixt:numdotdecimal" decimals="0" unitRef="USD">134,870</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--OtherGeneralExpense_i01_maCza8m_zBEbPhl8fqz5" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Office and miscellaneous</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherGeneralExpense" contextRef="From2024-01-01to2024-03-31" id="Fact000210" format="ixt:numdotdecimal" decimals="0" unitRef="USD">157,623</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherGeneralExpense" contextRef="From2023-01-012023-03-31" id="Fact000211" format="ixt:numdotdecimal" decimals="0" unitRef="USD">98,846</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--ResearchAndDevelopmentExpense_i01_maCza8m_zIson9p4Hfd9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Research</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2024-01-01to2024-03-31" id="Fact000213" format="ixt:numdotdecimal" decimals="0" unitRef="USD">126,654</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2023-01-012023-03-31" id="Fact000214" format="ixt:numdotdecimal" decimals="0" unitRef="USD">21,502</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_ecustom--Consulting_i01_maCza8m_zJWXUqXzek7b" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Consulting</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:Consulting" contextRef="From2024-01-01to2024-03-31" id="Fact000216" format="ixt:numdotdecimal" decimals="0" unitRef="USD">99,921</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:Consulting" contextRef="From2023-01-012023-03-31" id="Fact000217" format="ixt:numdotdecimal" decimals="0" unitRef="USD">62,977</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--UtilitiesOperatingExpense_i01_maCza8m_zHBzWXYrabDi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Utilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:UtilitiesOperatingExpense" contextRef="From2024-01-01to2024-03-31" id="Fact000219" format="ixt:numdotdecimal" decimals="0" unitRef="USD">73,676</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:UtilitiesOperatingExpense" contextRef="From2023-01-012023-03-31" id="Fact000220" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,487</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--SellingAndMarketingExpense_i01_maCza8m_zndLnooYdk95" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Advertising and promotion</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="From2024-01-01to2024-03-31" id="Fact000222" format="ixt:numdotdecimal" decimals="0" unitRef="USD">66,949</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="From2023-01-012023-03-31" id="Fact000223" format="ixt:numdotdecimal" decimals="0" unitRef="USD">48,398</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--TravelAndEntertainmentExpense_i01_maCza8m_zGQN0VYGino1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Travel</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:TravelAndEntertainmentExpense" contextRef="From2024-01-01to2024-03-31" id="Fact000225" format="ixt:numdotdecimal" decimals="0" unitRef="USD">66,261</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:TravelAndEntertainmentExpense" contextRef="From2023-01-012023-03-31" id="Fact000226" format="ixt:numdotdecimal" decimals="0" unitRef="USD">61,652</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--ProfessionalFees_i01_maCza8m_z4T2LNsUqp53" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Professional fees</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfessionalFees" contextRef="From2024-01-01to2024-03-31" id="Fact000228" format="ixt:numdotdecimal" decimals="0" unitRef="USD">60,995</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfessionalFees" contextRef="From2023-01-012023-03-31" id="Fact000229" format="ixt:numdotdecimal" decimals="0" unitRef="USD">62,767</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--InvestorRelationsAndTransferAgentFee_i01_maCza8m_zRujhK2Cg7Y5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Investor relations and transfer agent fee</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:InvestorRelationsAndTransferAgentFee" contextRef="From2024-01-01to2024-03-31" id="Fact000231" format="ixt:numdotdecimal" decimals="0" unitRef="USD">39,304</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:InvestorRelationsAndTransferAgentFee" contextRef="From2023-01-012023-03-31" id="Fact000232" format="ixt:numdotdecimal" decimals="0" unitRef="USD">89,892</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--OperatingLeaseExpense_i01_maCza8m_zXuLEWqEapl" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Lease expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseExpense" contextRef="From2024-01-01to2024-03-31" id="Fact000234" format="ixt:numdotdecimal" decimals="0" unitRef="USD">30,150</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseExpense" contextRef="From2023-01-012023-03-31" id="Fact000235" format="ixt:numdotdecimal" decimals="0" unitRef="USD">25,295</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_40D_eus-gaap--CommunicationsAndInformationTechnology_i01_maCza8m_zCNssuKsik29" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Telecommunications</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommunicationsAndInformationTechnology" contextRef="From2024-01-01to2024-03-31" id="Fact000237" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,532</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CommunicationsAndInformationTechnology" contextRef="From2023-01-012023-03-31" id="Fact000238" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,578</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_ecustom--ShippingCost_i01_maCza8m_zoJ9Ha0Hglw5" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Shipping</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:ShippingCost" contextRef="From2024-01-01to2024-03-31" id="Fact000240" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,829</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:ShippingCost" contextRef="From2023-01-012023-03-31" id="Fact000241" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,666</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--ForeignCurrencyTransactionGainLossBeforeTax_i01N_di_msCza8m_zmpFn391Omci" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Currency exchange</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" contextRef="From2024-01-01to2024-03-31" id="Fact000243" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,635</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" contextRef="From2023-01-012023-03-31" id="Fact000244" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,576</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_ecustom--Commissions_i01_maCza8m_zbmqDz0EDyLk" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; padding-bottom: 1.5pt">Commissions</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0246">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="FSI:Commissions" contextRef="From2023-01-012023-03-31" id="Fact000247" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,985</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--OperatingExpenses_i01T_mtCza8m_msCzKrN_zUkMujHIKKq8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Total operating expenses</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2024-01-01to2024-03-31" id="Fact000249" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,229,802</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OperatingExpenses" contextRef="From2023-01-012023-03-31" id="Fact000250" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,902,727</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--OperatingIncomeLoss_iT_mtCzKrN_maCzvqg_zFVp4BBIy65b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Operating income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2024-01-01to2024-03-31" id="Fact000252" format="ixt:numdotdecimal" decimals="0" unitRef="USD">590,565</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="From2023-01-012023-03-31" id="Fact000253" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,182,265</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_ecustom--LeaseTerminationFee_i01N_di_msCzvqg_zk7xB8wpeRX3" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 0pt; text-align: left">Loss on lease termination</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="FSI:LeaseTerminationFee" contextRef="From2024-01-01to2024-03-31" id="Fact000255" format="ixt:numdotdecimal" decimals="0" unitRef="USD">41,350</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0256">-</span></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_402_eus-gaap--GainLossOnInvestments_maCzvqg_zNdsNUEMk6Nd" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Gain on investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GainLossOnInvestments" contextRef="From2024-01-01to2024-03-31" id="Fact000258" format="ixt:numdotdecimal" decimals="0" unitRef="USD">182,975</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GainLossOnInvestments" contextRef="From2023-01-012023-03-31" id="Fact000259" format="ixt:numdotdecimal" decimals="0" unitRef="USD">69,995</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestIncomeOther_maCzvqg_zYqcwuan03ye" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Interest income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:InterestIncomeOther" contextRef="From2024-01-01to2024-03-31" id="Fact000261" format="ixt:numdotdecimal" decimals="0" unitRef="USD">48,197</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:InterestIncomeOther" contextRef="From2023-01-012023-03-31" id="Fact000262" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,011</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_iT_mtCzvqg_maCzXgi_zuY7KAaRFUk2" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Income before income tax</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2024-01-01to2024-03-31" id="Fact000264" format="ixt:numdotdecimal" decimals="0" unitRef="USD">780,387</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2023-01-012023-03-31" id="Fact000265" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,264,271</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--DeferredIncomeTaxesAndTaxCreditsAbstract_iB" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Income taxes</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--IncomeTaxExpenseBenefit_i01N_di_msCzXgi_zo4vsDxZ3il7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Income tax expense</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-03-31" id="Fact000270" format="ixt:numdotdecimal" decimals="0" unitRef="USD">264,178</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-012023-03-31" id="Fact000271" format="ixt:numdotdecimal" decimals="0" unitRef="USD">299,777</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--ProfitLoss_iT_maNILzXB2_mtCzXgi_zPdCIKSOFD08" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Net income  for the period including non-controlling interests</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-01to2024-03-31" id="Fact000273" format="ixt:numdotdecimal" decimals="0" unitRef="USD">516,209</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-03-31" id="Fact000274" format="ixt:numdotdecimal" decimals="0" unitRef="USD">964,494</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_iN_di_msNILzXB2_zp8fgYLRQxG8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Less: Net income attributable to non-controlling interests</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2024-01-01to2024-03-31" id="Fact000276" format="ixt:numdotdecimal" decimals="0" unitRef="USD">58,983</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2023-01-012023-03-31" id="Fact000277" format="ixt:numdotdecimal" decimals="0" unitRef="USD">80,125</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--NetIncomeLoss_iT_mtNILzXB2_zIXMWKFYyhqf" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Net income attributable to controlling interest</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-03-31" id="Fact000279" format="ixt:numdotdecimal" decimals="0" unitRef="USD">457,226</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-03-31" id="Fact000280" format="ixt:numdotdecimal" decimals="0" unitRef="USD">884,369</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Income per share (basic and diluted)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_90C_eus-gaap--EarningsPerShareBasic_c20240101__20240331_zANlAbboJ1Hc" title="Income per share (basic)" class="xdx_phnt_U3RhdGVtZW50IC0gQ29uZGVuc2VkIEludGVyaW0gQ29uc29saWRhdGVkIFN0YXRlbWVudHMgb2YgT3BlcmF0aW9ucyBhbmQgQ29tcHJlaGVuc2l2ZSBJbmNvbWUgKExvc3MpIChVbmF1ZGl0ZWQpAA__"><span id="xdx_906_eus-gaap--EarningsPerShareDiluted_c20240101__20240331_z2QaVKrG9WZk" title="Income per share (diluted)" class="xdx_phnt_U3RhdGVtZW50IC0gQ29uZGVuc2VkIEludGVyaW0gQ29uc29saWRhdGVkIFN0YXRlbWVudHMgb2YgT3BlcmF0aW9ucyBhbmQgQ29tcHJlaGVuc2l2ZSBJbmNvbWUgKExvc3MpIChVbmF1ZGl0ZWQpAA__"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2024-01-01to2024-03-31" id="Fact000282" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2024-01-01to2024-03-31" id="Fact000284" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.04</ix:nonFraction></ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_906_eus-gaap--EarningsPerShareBasic_c20230101__20230331_zkTMBEGHSnyg" title="Income per share (basic)" class="xdx_phnt_U3RhdGVtZW50IC0gQ29uZGVuc2VkIEludGVyaW0gQ29uc29saWRhdGVkIFN0YXRlbWVudHMgb2YgT3BlcmF0aW9ucyBhbmQgQ29tcHJlaGVuc2l2ZSBJbmNvbWUgKExvc3MpIChVbmF1ZGl0ZWQpAA__"><span id="xdx_907_eus-gaap--EarningsPerShareDiluted_c20230101__20230331_zTfkRJ5zkD26" title="Income per share (diluted)" class="xdx_phnt_U3RhdGVtZW50IC0gQ29uZGVuc2VkIEludGVyaW0gQ29uc29saWRhdGVkIFN0YXRlbWVudHMgb2YgT3BlcmF0aW9ucyBhbmQgQ29tcHJlaGVuc2l2ZSBJbmNvbWUgKExvc3MpIChVbmF1ZGl0ZWQpAA__"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="From2023-01-012023-03-31" id="Fact000286" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-01-012023-03-31" id="Fact000288" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.07</ix:nonFraction></ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_z0d0c7T91K7k" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Weighted average number of common shares (basic)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2024-01-01to2024-03-31" id="Fact000290" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,449,699</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-01-012023-03-31" id="Fact000291" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,432,914</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_zSGGRE8wYfd" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; padding-bottom: 1.5pt">Weighted average number of common shares (diluted)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2024-01-01to2024-03-31" id="Fact000293" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,449,699</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-01-012023-03-31" id="Fact000294" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,532,404</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_iB_zIeBRMaqwRo9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Other comprehensive income (loss):</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--ProfitLoss_i01_maCz4y9_zISIaXR6MlN9" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-01to2024-03-31" id="Fact000299" format="ixt:numdotdecimal" decimals="0" unitRef="USD">516,209</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-03-31" id="Fact000300" format="ixt:numdotdecimal" decimals="0" unitRef="USD">964,494</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_i01_maCz4y9_zWb9GKwt3BR2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Unrealized income (loss) on foreign currency translations</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2024-01-01to2024-03-31" id="Fact000302" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,223</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2023-01-012023-03-31" id="Fact000303" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">167,239</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_i01T_mtCz4y9_maCzqMP_zGNefENlnuD6" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Total comprehensive income</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" contextRef="From2024-01-01to2024-03-31" id="Fact000305" format="ixt:numdotdecimal" decimals="0" unitRef="USD">543,432</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" contextRef="From2023-01-012023-03-31" id="Fact000306" format="ixt:numdotdecimal" decimals="0" unitRef="USD">797,255</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_i01N_pp0p0_di_msCzqMP_z0SGlvx46Ksd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Comprehensive income &#8211; non-controlling interest</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" contextRef="From2024-01-01to2024-03-31" id="Fact000308" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">58,983</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" contextRef="From2023-01-012023-03-31" id="Fact000309" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">80,125</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--ComprehensiveIncomeNetOfTax_i01T_mtCzqMP_z54JJfcC0Hm3" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Comprehensive income attributable to Flexible Solutions International Inc.</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="From2024-01-01to2024-03-31" id="Fact000311" format="ixt:numdotdecimal" decimals="0" unitRef="USD">484,449</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="From2023-01-012023-03-31" id="Fact000312" format="ixt:numdotdecimal" decimals="0" unitRef="USD">717,130</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#8212;
See Notes to Unaudited Condensed Interim Consolidated Financial Statements &#8212;</span></p>

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


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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(U.S.
Dollars &#8212; Unaudited)</b></span></p>

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

<table cellpadding="0" cellspacing="0" id="xdx_30E_112_zoDdHhX5J2P2" summary="xdx: Statement - Condensed Interim Consolidated Statements of Cash Flows (Unaudited)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="display: none; vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_492_20240101__20240331_z6rGYr5jtQnj" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">2024</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_490_20230101__20230331_zR0yCMkrXAk8" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td></tr>
<tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">Three Months Ended March 31,</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">2024</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">2023</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--NetCashProvidedByUsedInOperatingActivitiesAbstract_iB_ztqNtu3BSUL1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Operating activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--ProfitLoss_i01_maNCPBUzQz6_zXqqwpqhIPi1" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; width: 64%; text-align: left">Net income for the period including non-controlling interests</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-01to2024-03-31" id="Fact000317" format="ixt:numdotdecimal" decimals="0" unitRef="USD">516,209</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-03-31" id="Fact000318" format="ixt:numdotdecimal" decimals="0" unitRef="USD">964,494</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_i01B_zy3y88uLYhb4" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Adjustments to reconcile net income to net cash:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--ShareBasedCompensation_i02_maNCPBUzQz6_zKIJFGKRENH9" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Stock based compensation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2024-01-01to2024-03-31" id="Fact000323" format="ixt:numdotdecimal" decimals="0" unitRef="USD">253,357</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="From2023-01-012023-03-31" id="Fact000324" format="ixt:numdotdecimal" decimals="0" unitRef="USD">185,298</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationAndAmortization_i02_maNCPBUzQz6_z0Qq9H4JcfN7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Depreciation and amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2024-01-01to2024-03-31" id="Fact000326" format="ixt:numdotdecimal" decimals="0" unitRef="USD">422,669</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" contextRef="From2023-01-012023-03-31" id="Fact000327" format="ixt:numdotdecimal" decimals="0" unitRef="USD">342,810</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--FinanceLeaseRightOfUseAssetAmortization_i02_pp0p0_maNCPBUzQz6_zP3LegTzLuHj" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Lease right of use amortization</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" contextRef="From2024-01-01to2024-03-31" id="Fact000329" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">13,694</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" contextRef="From2023-01-012023-03-31" id="Fact000330" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">12,775</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_ecustom--LeaseRightOfUseFinancing_i02_maNCPBUzQz6_zjX9Qlbpf59e" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Lease right of use financing</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:LeaseRightOfUseFinancing" contextRef="From2024-01-01to2024-03-31" id="Fact000332" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,186</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:LeaseRightOfUseFinancing" contextRef="From2023-01-012023-03-31" id="Fact000333" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,745</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--GainLossOnTerminationOfLease_i02N_di_msNCPBUzQz6_zX27f1NIB1eb" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Loss on terminating lease</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:GainLossOnTerminationOfLease" contextRef="From2024-01-01to2024-03-31" id="Fact000335" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">41,350</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--GainLossOnInvestments_i02N_pp0p0_di_msNCPBUzQz6_z33pkoTmKnF2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Gain on investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:GainLossOnInvestments" contextRef="From2024-01-01to2024-03-31" id="Fact000338" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">182,975</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:GainLossOnInvestments" contextRef="From2023-01-012023-03-31" id="Fact000339" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">69,995</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--IncreaseDecreaseInOperatingCapitalAbstract_i02B_zf8PH1almUAl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Changes in non-cash working capital items:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--IncreaseDecreaseInAccountsReceivable_i03N_pp0p0_di_msNCPBUzQz6_znkbKRQxD1xa" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">(Increase) decrease in accounts receivable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2024-01-01to2024-03-31" id="Fact000344" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,149,487</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2023-01-012023-03-31" id="Fact000345" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,383,671</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_408_eus-gaap--IncreaseDecreaseInInventories_i03N_pp0p0_di_msNCPBUzQz6_zXvJT0fKP3Vl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">Decrease in inventory</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2024-01-01to2024-03-31" id="Fact000347" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">675,633</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2023-01-012023-03-31" id="Fact000348" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">39,607</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--IncreaseDecreaseInPrepaidExpense_i03N_pp0p0_di_msNCPBUzQz6_zSJaX7q4Vzfa" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Decrease (increase) in prepaid expenses</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidExpense" contextRef="From2024-01-01to2024-03-31" id="Fact000350" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">799,428</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidExpense" contextRef="From2023-01-012023-03-31" id="Fact000351" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">21,497</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40F_eus-gaap--IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_i03_maNCPBUzQz6_zu4dePvV6Ft2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left">(Decrease) increase in accounts payable and accrued liabilities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" contextRef="From2024-01-01to2024-03-31" id="Fact000353" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">171,028</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" contextRef="From2023-01-012023-03-31" id="Fact000354" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">179,149</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_408_eus-gaap--IncreaseDecreaseInAccruedIncomeTaxesPayable_i03_pp0p0_maNCPBUzQz6_zyWlgbjMdyE4" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 20pt; text-align: left">Increase in income taxes payable</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2024-01-01to2024-03-31" id="Fact000356" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">264,178</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2023-01-012023-03-31" id="Fact000357" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">152,577</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--IncreaseDecreaseInContractWithCustomerLiability_i03_pp0p0_maNCPBUzQz6_zDT4cNhitZu2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 20pt; text-align: left; padding-bottom: 1.5pt">Decrease in deferred revenue</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2024-01-01to2024-03-31" id="Fact000359" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">16,465</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2023-01-012023-03-31" id="Fact000360" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">273,223</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--NetCashProvidedByUsedInOperatingActivities_i01T_mtNCPBUzQz6_maCCERCzXEt_zZjrdqA2H25l" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Cash used in operating activities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2024-01-01to2024-03-31" id="Fact000362" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">532,251</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2023-01-012023-03-31" id="Fact000363" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">228,229</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--NetCashProvidedByUsedInInvestingActivitiesAbstract_iB_zE1r4RTgcx7b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Investing activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_ecustom--PaymentsToAcquireLongTermDeposits_i01N_di_msNCPBUzHSc_zTYta92gBrCe" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Long term deposits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="FSI:PaymentsToAcquireLongTermDeposits" contextRef="From2024-01-01to2024-03-31" id="Fact000368" format="ixt:numdotdecimal" decimals="0" unitRef="USD">21,778</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="FSI:PaymentsToAcquireLongTermDeposits" contextRef="From2023-01-012023-03-31" id="Fact000369" format="ixt:numdotdecimal" decimals="0" unitRef="USD">342,747</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40C_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_i01N_pp0p0_di_msNCPBUzHSc_z931Z0scUVld" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Net purchase of property, equipment and leaseholds</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2024-01-01to2024-03-31" id="Fact000371" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">478,123</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-012023-03-31" id="Fact000372" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">213,060</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_400_eus-gaap--ProceedsFromSaleOfEquityMethodInvestments_i01_pp0p0_maNCPBUzHSc_zxpUY4RZLpU1" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Proceeds of equity investment</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfEquityMethodInvestments" contextRef="From2024-01-01to2024-03-31" id="Fact000374" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">327,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0375">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--NetCashProvidedByUsedInInvestingActivities_i01T_mtNCPBUzHSc_maCCERCzXEt_zo2FMcrjLzi4" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Cash used in investing activities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2024-01-01to2024-03-31" id="Fact000377" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">172,901</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2023-01-012023-03-31" id="Fact000378" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">555,807</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--NetCashProvidedByUsedInFinancingActivitiesAbstract_iB_zLQpGQrztn87" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Financing activities</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--ProceedsFromLinesOfCredit_i01_pp0p0_maNCPBUzLRF_zXs8Zh7IlCV7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Draw from short term line of credit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromLinesOfCredit" contextRef="From2024-01-01to2024-03-31" id="Fact000383" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,449,456</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromLinesOfCredit" contextRef="From2023-01-012023-03-31" id="Fact000384" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">844,913</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--RepaymentsOfLongTermDebt_i01N_di_msNCPBUzLRF_znVwVmelHTbd" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Repayment of long term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:RepaymentsOfLongTermDebt" contextRef="From2024-01-01to2024-03-31" id="Fact000386" format="ixt:numdotdecimal" decimals="0" unitRef="USD">185,916</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:RepaymentsOfLongTermDebt" contextRef="From2023-01-012023-03-31" id="Fact000387" format="ixt:numdotdecimal" decimals="0" unitRef="USD">177,639</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40A_eus-gaap--ProceedsFromIssuanceOfLongTermDebt_i01_maNCPBUzLRF_zAWNjo1JC9K1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left">Proceeds of long term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" contextRef="From2024-01-01to2024-03-31" id="Fact000389" format="ixt:numdotdecimal" decimals="0" unitRef="USD">57,816</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0390">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_401_eus-gaap--PaymentsOfFinancingCosts_i01N_di_msNCPBUzLRF_zWtXegPuB2K" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsOfFinancingCosts" contextRef="From2024-01-01to2024-03-31" id="Fact000392" format="ixt:numdotdecimal" decimals="0" unitRef="USD">50,790</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:PaymentsOfFinancingCosts" contextRef="From2023-01-012023-03-31" id="Fact000393" format="ixt:numdotdecimal" decimals="0" unitRef="USD">14,520</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_403_eus-gaap--ProceedsFromIssuanceOfCommonStock_i01_maNCPBUzLRF_z2ToXHQC3hF5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Proceeds from issuance of common stock</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="From2024-01-01to2024-03-31" id="Fact000395" format="ixt:numdotdecimal" decimals="0" unitRef="USD">26,250</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="From2023-01-012023-03-31" id="Fact000396" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,600</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--NetCashProvidedByUsedInFinancingActivities_i01T_mtNCPBUzLRF_maCCERCzXEt_z71IIj3IdYqb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Cash used in financing activities</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2024-01-01to2024-03-31" id="Fact000398" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,296,816</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2023-01-012023-03-31" id="Fact000399" format="ixt:numdotdecimal" decimals="0" unitRef="USD">666,354</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_maCCERCzXEt_zHih7yaogs5d" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Effect of exchange rate changes on cash</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="From2024-01-01to2024-03-31" id="Fact000401" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,223</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="From2023-01-012023-03-31" id="Fact000402" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">167,239</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_iT_mtCCERCzXEt_z0aOTlVxmR0l" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold; text-align: left">Inflow (outflow) of cash</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2024-01-01to2024-03-31" id="Fact000404" format="ixt:numdotdecimal" decimals="0" unitRef="USD">618,887</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2023-01-012023-03-31" id="Fact000405" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">284,921</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iS_pp0p0_z2PYN8yKdGG9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Cash, beginning</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2023-12-31" id="Fact000407" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,707,824</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2022-12-31" id="Fact000408" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,815,099</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_iE_pp0p0_zgtrh3yJKfhe" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left; padding-bottom: 1.5pt">Cash, ending</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2024-03-31" id="Fact000410" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,326,711</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2023-03-31" id="Fact000411" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,530,178</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_iB" style="vertical-align: bottom; background-color: White">
    <td style="font-weight: bold; text-align: left">Cash consists of:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--Cash_i01E_zBBRcRCwahJ1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Cash</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Cash" contextRef="AsOf2024-03-31" id="Fact000416" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,302,954</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:Cash" contextRef="AsOf2023-03-31" id="Fact000417" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,530,178</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--ShortTermInvestments_i01E_z1woZejAKPl7" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Term Deposits</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShortTermInvestments" contextRef="AsOf2024-03-31" id="Fact000419" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,023,757</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShortTermInvestments" contextRef="AsOf2023-03-31" id="Fact000420" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,000,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_i01E_z0pJXTnwm2x6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Cash resources</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2024-03-31" id="Fact000422" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,326,711</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" contextRef="AsOf2023-03-31" id="Fact000423" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,530,178</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#8212;
See Notes to Unaudited Condensed Interim Consolidated Financial Statements &#8212;</span></p>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 4.65pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="n_006"></span>CONDENSED
<span style="text-transform: uppercase">INTERIM Consolidated Statements of Stockholders&#8217; Equity</span></b></span></p>

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

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

<table cellpadding="0" cellspacing="0" id="xdx_305_114_zRxas3BLkj8" summary="xdx: Statement - Condensed Interim Consolidated Statements of Stockholders' Equity (Unaudited)" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="vertical-align: bottom; text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">Shares</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_4B8_us-gaap--StatementEquityComponentsAxis_us-gaap--CommonStockMember_zj1cvQjk8U71" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Par</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Value</b></span></p></td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_4B4_us-gaap--StatementEquityComponentsAxis_custom--CapitalInExcessOfParValueMember_zRmm6cOhcfK8" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Capital in</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Excess of</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Par Value</b></span></p></td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_4B2_us-gaap--StatementEquityComponentsAxis_us-gaap--RetainedEarningsMember_zQKctYqxFkBa" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Accumulated</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Earnings</b></span></p></td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_4BB_us-gaap--StatementEquityComponentsAxis_us-gaap--AccumulatedOtherComprehensiveIncomeMember_z723pYaSj534" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Other</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Comprehensive<br/>
</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Income <br/>
(Loss)</b></span></p></td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_4BA_us-gaap--StatementEquityComponentsAxis_us-gaap--ParentMember_zSAUo5JHRsv" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">Total</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_4BC_us-gaap--StatementEquityComponentsAxis_us-gaap--NoncontrollingInterestMember_zjh0SqzA0y1k" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Non-</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Controlling Interests</b></span></p></td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_4BA_zZE1ZAwgEa48" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Total </b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Stockholders&#8217;</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Equity</b></span></p></td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_438_c20240101__20240331_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iS_z4Q07dNoU8oc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 20%; font-weight: bold">Balance December 31, 2023</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--SharesOutstanding_iS_pid_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zkToIuO5XYD4" title="Beginning balance, shares" style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" id="Fact000433" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,435,532</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" id="Fact000425" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,436</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_custom_CapitalInExcessOfParValueMember" id="Fact000426" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,932,015</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember" id="Fact000427" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,053,051</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000428" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">795,146</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">)</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_ParentMember" id="Fact000429" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,202,356</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000430" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,065,716</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31" id="Fact000431" format="ixt:numdotdecimal" decimals="0" unitRef="USD">38,268,072</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_zlMskQk34Mn1" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Translation adjustment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0435">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0436">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0437">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000438" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,223</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-012024-03-31_us-gaap_ParentMember" id="Fact000439" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,223</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0440">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2024-01-01to2024-03-31" id="Fact000441" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,223</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--ProfitLoss_zRPwHcarcixa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0443">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0444">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember" id="Fact000445" format="ixt:numdotdecimal" decimals="0" unitRef="USD">457,226</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0446">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-012024-03-31_us-gaap_ParentMember" id="Fact000447" format="ixt:numdotdecimal" decimals="0" unitRef="USD">457,226</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-012024-03-31_us-gaap_NoncontrollingInterestMember" id="Fact000448" format="ixt:numdotdecimal" decimals="0" unitRef="USD">58,983</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2024-01-01to2024-03-31" id="Fact000449" format="ixt:numdotdecimal" decimals="0" unitRef="USD">516,209</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--StockIssuedDuringPeriodValueNewIssues_zx0XR7h3B1th" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Common stock issued</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z56xfs11vT05" title="Common stock issued, shares" style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="Fact000459" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember" id="Fact000451" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2024-01-012024-03-31_custom_CapitalInExcessOfParValueMember" id="Fact000452" format="ixt:numdotdecimal" decimals="0" unitRef="USD">26,235</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0453">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0454">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2024-01-012024-03-31_us-gaap_ParentMember" id="Fact000455" format="ixt:numdotdecimal" decimals="0" unitRef="USD">26,250</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0456">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2024-01-01to2024-03-31" id="Fact000457" format="ixt:numdotdecimal" decimals="0" unitRef="USD">26,250</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_pp0p0_zJ1dqK2K1zI9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Stock-based compensation</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#8212;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0461">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-01-012024-03-31_custom_CapitalInExcessOfParValueMember" id="Fact000462" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">253,357</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0463">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0464">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-01-012024-03-31_us-gaap_ParentMember" id="Fact000465" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">253,357</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0466">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2024-01-01to2024-03-31" id="Fact000467" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">253,357</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_431_c20240101__20240331_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iE_zDWCnpEKIPe7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Balance March 31, 2024</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--SharesOutstanding_iE_pid_c20240101__20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zZ1ubceR0TK8" title="Ending balance, shares" style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2024-03-31_us-gaap_CommonStockMember" id="Fact000477" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,450,532</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31_us-gaap_CommonStockMember" id="Fact000469" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,451</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31_custom_CapitalInExcessOfParValueMember" id="Fact000470" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,211,607</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31_us-gaap_RetainedEarningsMember" id="Fact000471" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,510,277</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000472" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">767,923</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31_us-gaap_ParentMember" id="Fact000473" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,966,412</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31_us-gaap_NoncontrollingInterestMember" id="Fact000474" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,124,699</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-03-31" id="Fact000475" format="ixt:numdotdecimal" decimals="0" unitRef="USD">39,091,111</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#8212;
See Notes to Unaudited Condensed Interim Consolidated Financial Statements &#8212;</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><b>FLEXIBLE
SOLUTIONS INTERNATIONAL, INC.</b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>CONDENSED
<span style="text-transform: uppercase">INTERIM Consolidated Statements of Stockholders&#8217; Equity</span></b></span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(U.S.
Dollars &#8211; Unaudited)</b></span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">Shares</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">Capital<br/> Stock</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">Capital in<br/>
 Excess of<br/>
 Par Value</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">Accumulated<br/>
 Earnings</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">Other<br/>
 Comprehensive<br/>
 Loss</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">Total</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">Non-<br/>
 Controlling<br/>
 Interests</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; font-weight: bold; text-align: center">Total <br/> Stockholders&#8217;<br/>
 Equity</td><td style="text-align: center; padding-bottom: 1.5pt; font-weight: bold; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="vertical-align: bottom; font-weight: bold; text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="vertical-align: bottom; font-weight: bold; text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="vertical-align: bottom; font-weight: bold; text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="vertical-align: bottom; font-weight: bold; text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="vertical-align: bottom; font-weight: bold; text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="vertical-align: bottom; font-weight: bold; text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="vertical-align: bottom; font-weight: bold; text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; vertical-align: bottom">&#160;</td><td style="text-align: center; font-weight: bold; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="vertical-align: bottom; font-weight: bold; text-align: center">&#160;</td><td style="text-align: center; font-weight: bold; vertical-align: bottom">&#160;</td></tr>
  <tr id="xdx_430_c20230101__20230331_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iS_zmeaZm9wDIR8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 20%; font-weight: bold">Balance December 31, 2022</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--SharesOutstanding_iS_pid_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z6bWBrAyy5rk" title="Beginning balance, shares" style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" id="Fact000487" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,426,260</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" id="Fact000479" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,426</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_custom_CapitalInExcessOfParValueMember" id="Fact000480" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,523,345</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember" id="Fact000481" format="ixt:numdotdecimal" decimals="0" unitRef="USD">15,903,964</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000482" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">805,799</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">)</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_ParentMember" id="Fact000483" format="ixt:numdotdecimal" decimals="0" unitRef="USD">32,633,936</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember" id="Fact000484" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,605,034</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td><td style="width: 2%; font-weight: bold">&#160;</td>
    <td style="width: 1%; font-weight: bold; text-align: left">$</td><td style="width: 6%; font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31" id="Fact000485" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,238,970</ix:nonFraction></td><td style="width: 1%; font-weight: bold; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_zakXC3hY8bLl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Translation adjustment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0489">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0490">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0491">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000492" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">167,239</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-03-31_us-gaap_ParentMember" id="Fact000493" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">167,239</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0494">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" contextRef="From2023-01-012023-03-31" id="Fact000495" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">167,239</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--ProfitLoss_zej69yI1ImJ8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#8212;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0497">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0498">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember" id="Fact000499" format="ixt:numdotdecimal" decimals="0" unitRef="USD">884,369</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0500">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-03-31_us-gaap_ParentMember" id="Fact000501" format="ixt:numdotdecimal" decimals="0" unitRef="USD">884,369</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-03-31_us-gaap_NoncontrollingInterestMember" id="Fact000502" format="ixt:numdotdecimal" decimals="0" unitRef="USD">80,125</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2023-01-012023-03-31" id="Fact000503" format="ixt:numdotdecimal" decimals="0" unitRef="USD">964,494</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--StockIssuedDuringPeriodValueNewIssues_zRa5njw5EJB4" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Common stock issued</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_982_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zFoyKWPoL5yf" title="Common stock issued, shares" style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" id="Fact000513" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">9,272</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember" id="Fact000505" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-012023-03-31_custom_CapitalInExcessOfParValueMember" id="Fact000506" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,590</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0507">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0508">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-012023-03-31_us-gaap_ParentMember" id="Fact000509" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,600</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0510">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueNewIssues" contextRef="From2023-01-012023-03-31" id="Fact000511" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,600</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_eus-gaap--AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_pp0p0_z87w7DLu7dXa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt; text-align: left">Stock-based compensation</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">&#8212;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0515">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-03-31_custom_CapitalInExcessOfParValueMember" id="Fact000516" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">185,298</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0517">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0518">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-03-31_us-gaap_ParentMember" id="Fact000519" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">185,298</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0520">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-01-012023-03-31" id="Fact000521" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">185,298</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_43A_c20230101__20230331_eus-gaap--StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_iE_zgvJojHfDt4l" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="font-weight: bold">Balance March 31, 2023</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--SharesOutstanding_iE_pid_c20230101__20230331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z6964mUKAMg4" title="Ending balance, shares" style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="AsOf2023-03-31_us-gaap_CommonStockMember" id="Fact000531" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">12,435,532</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-03-31_us-gaap_CommonStockMember" id="Fact000523" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,436</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-03-31_custom_CapitalInExcessOfParValueMember" id="Fact000524" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,722,233</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-03-31_us-gaap_RetainedEarningsMember" id="Fact000525" format="ixt:numdotdecimal" decimals="0" unitRef="USD">16,788,333</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" id="Fact000526" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">973,038</ix:nonFraction></td><td style="font-weight: bold; text-align: left">)</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-03-31_us-gaap_ParentMember" id="Fact000527" format="ixt:numdotdecimal" decimals="0" unitRef="USD">33,549,964</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-03-31_us-gaap_NoncontrollingInterestMember" id="Fact000528" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,685,159</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td><td style="font-weight: bold">&#160;</td>
    <td style="font-weight: bold; text-align: left">$</td><td style="font-weight: bold; text-align: right"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-03-31" id="Fact000529" format="ixt:numdotdecimal" decimals="0" unitRef="USD">36,235,123</ix:nonFraction></td><td style="font-weight: bold; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#8212;
See Notes to Unaudited Condensed Interim Consolidated Financial Statements &#8212;</span></p>

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


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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>For
the Three Months Ended March 31, 2024</b></span></p>

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

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

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000533" name="us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock"><p id="xdx_802_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_zxAE6HzqDrL5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>1.
<span id="xdx_82B_zyVtHEuL2n8k">BASIS OF PRESENTATION</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
interim condensed consolidated financial statements (&#8220;consolidated financial statements&#8221;) include the accounts of
Flexible Solutions International, Inc. (the &#8220;Company&#8221;), its wholly-owned subsidiaries Flexible Fermentation Ltd.,
NanoChem Solutions Inc. (&#8220;NanoChem&#8221;), Flexible Solutions Ltd., Flexible Biomass LP, FS Biomass Inc., NCS Deferred Corp.,
Natural Chem SEZC Ltd., InnFlex Holdings Inc., ENP Peru Investments LLC (&#8220;ENP Peru&#8221;), its <span id="xdx_901_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember_zUTmT6eKx2a2" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2024-01-012024-03-31_custom_MendotaLLCMember" id="Fact000535" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">80</ix:nonFraction></span>%
controlling interest in 317 Mendota LLC (&#8220;317 Mendota&#8221;), and its <span id="xdx_903_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCAndENPMendotaMember_zwJ8MSzwNual" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2024-01-012024-03-31_custom_ENPInvestmentsLLCAndENPMendotaMember" id="Fact000537" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>%
controlling interest in ENP Investments, LLC (&#8220;ENP Investments&#8221;) and ENP Mendota, LLC (&#8220;ENP Mendota&#8221;). All
inter-company balances and transactions have been eliminated upon consolidation. The Company was incorporated on May 12, 1998 in the
State of Nevada and in 2019, the Company redomiciled into Alberta, Canada.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2022, NanoChem purchased an additional <span id="xdx_906_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zkLdI1g3X3ch" title="Increase decrease in share percentage"><ix:nonFraction name="FSI:IncreaseDecreaseInSharePercentage" contextRef="From2022-01-012022-12-31_custom_ENPPeruMember_custom_UnrelatedPartyMember" id="Fact000539" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>% in ENP Peru, increasing its share to <span id="xdx_905_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_z28tys7Qnyad" title="Increase decrease in share percentage"><ix:nonFraction name="FSI:IncreaseDecreaseInSharePercentage" contextRef="From2022-01-012022-12-31_custom_ENPPeruMember" id="Fact000541" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">91.67</ix:nonFraction></span>%. ENP Investments owned the remaining <span id="xdx_901_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zIfhRgiYPsa1" title="Remaining investment owned percentage"><ix:nonFraction name="FSI:RemainingInvestmentOwnedPercentage" contextRef="From2022-01-012022-12-31_custom_ENPPeruMember" id="Fact000543" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.33</ix:nonFraction></span>%, of
which the Company has a <span id="xdx_908_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zxe2VjL7osLh" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2022-01-012022-12-31_custom_ENPPeruMember" id="Fact000545" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>% interest. In 2023, NanoChem purchased the remaining <span id="xdx_90B_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--ENPPeruMember_zwcsLLsmfWj9" title="Remaining investment owned percentage"><ix:nonFraction name="FSI:RemainingInvestmentOwnedPercentage" contextRef="From2023-01-012023-12-31_custom_ENPPeruMember" id="Fact000547" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.33</ix:nonFraction></span>% of shares to become sole owner. ENP Peru was previously
accounted for under the equity method however, it is now consolidated into the financial statements from the date control was obtained.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2023, the Company purchased an <span id="xdx_905_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember_zEaHPKiTi3ni" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember" id="Fact000549" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">80</ix:nonFraction></span>% interest in 317 Mendota, a newly incorporated company established to purchase a large manufacturing
building. ENP Investments will occupy part of this building, freeing up more space in the building owned by ENP Peru for NanoChem. The
Company intends to rent the remainder of the space to suitable tenants. The remaining <span id="xdx_908_eus-gaap--MinorityInterestOwnershipPercentageByNoncontrollingOwners_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zLcvKOHf0lVe" title="Noncontrolling interest percentage"><ix:nonFraction name="us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners" contextRef="AsOf2023-12-31_custom_MendotaLLCMember_custom_UnrelatedPartyMember" id="Fact000551" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">20</ix:nonFraction></span>% non-controlling interest is held by unrelated
parties.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company and its subsidiaries develop, manufacture and market specialty chemicals which slow the evaporation of water. One product, HEATSAVR&#174;,
is marketed for use in swimming pools and spas where its use, by slowing the evaporation of water, allows the water to retain a higher
temperature for a longer period of time and thereby reduces the energy required to maintain the desired temperature of the water in the
pool. Another product, WATERSAVR&#174;, is marketed for water conservation in irrigation canals, aquaculture, and reservoirs where its
use slows water loss due to evaporation. In addition to the water conservation products, the Company also manufactures and markets water-soluble
chemicals utilizing thermal polyaspartate biopolymers (hereinafter referred to as &#8220;TPAs&#8221;), which are beta-proteins manufactured
from the common biological amino acid, L-aspartic. TPAs can be formulated to prevent corrosion and scaling in water piping within the
petroleum, chemical, utility and mining industries. TPAs are also used as proteins to enhance fertilizers in improving crop yields and
can be used as additives for household laundry detergents, consumer care products and pesticides. The TPA division also manufactures
two nitrogen conservation products for agriculture that slows nitrogen loss from fields.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000553" name="us-gaap:SignificantAccountingPoliciesTextBlock"><p id="xdx_802_eus-gaap--SignificantAccountingPoliciesTextBlock_zsjXoQ6rETag" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>2.
<span id="xdx_825_zt7P0TNTN5Kl">SIGNIFICANT ACCOUNTING POLICIES</span> </b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
consolidated financial statements have been prepared on a historical cost basis, except where otherwise noted, in accordance with accounting
principles generally accepted in the United States applicable to a going concern and reflect the policies outlined below.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">In the opinion of management,
the accompanying unaudited condensed interim consolidated financial statements contain all adjustments (all of which are of a normal recurring
nature) and disclosures necessary for a fair presentation of the Company&#8217;s financial position as of March 31, 2024 and the results
of its operations for the three months then ended. The consolidated balance sheet as of December 31, 2023 is derived from the December
31, 2023 audited financial statements.</p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000555" name="us-gaap:CashAndCashEquivalentsPolicyTextBlock"><p id="xdx_84D_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zHTXk8aYkmx9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
<i><span id="xdx_86A_z6dF8Qxs1swb">Cash and Cash Equivalents</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company considers all highly liquid investments purchased with an original or remaining maturity of less than three months at the date
of purchase to be cash equivalents. Cash and cash equivalents are maintained with several financial institutions. As of March 31, 2024 and December 31, 2023, the Company did not have any cash equivalents.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000557" name="FSI:TermDepositsPolicyTextBlock"><p id="xdx_843_ecustom--TermDepositsPolicyTextBlock_z9J7cUtzKejl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
<i><span id="xdx_86B_zw0LhRICKygl">Term Deposits</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has five term deposits that are maintained by commercials banks. The first term deposit is for $<span id="xdx_907_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zjW7tTYZblB7"><ix:nonFraction name="us-gaap:Deposits" contextRef="AsOf2024-03-31_custom_FirstTermMember" id="Fact000558" format="ixt:numdotdecimal" decimals="0" unitRef="USD">688,126</ix:nonFraction></span> and matures in April
2024. This deposit pays <span id="xdx_900_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zJyZV2tESkWg"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-03-31_custom_FirstTermMember" id="Fact000559" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.908</ix:nonFraction></span>% interest and if withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_907_ecustom--MinimumInterestPenalty_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zFge2LU4rM4d" title="Minimum interest penalty"><ix:nonFraction name="FSI:MinimumInterestPenalty" contextRef="AsOf2024-03-31_custom_FirstTermMember" id="Fact000561" format="ixt:numdotdecimal" decimals="0" unitRef="USD">150</ix:nonFraction></span>, plus 1%
of the principal shall be levied. The second term deposit is for $<span id="xdx_908_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zvCGdQWuYBre"><ix:nonFraction name="us-gaap:Deposits" contextRef="AsOf2024-03-31_custom_SecondTermMember" id="Fact000562" format="ixt:numdotdecimal" decimals="0" unitRef="USD">303,954</ix:nonFraction></span> and matures in February 2025. This deposit pays <span id="xdx_908_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zdNW7mCGpH67"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-03-31_custom_SecondTermMember" id="Fact000563" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">1.3</ix:nonFraction></span>% interest
and if withdrawn before maturity, a penalty may be applied. The third term deposit is for $<span id="xdx_908_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zrUdSDwEu6Ei"><ix:nonFraction name="us-gaap:Deposits" contextRef="AsOf2024-03-31_custom_ThirdTermMember" id="Fact000564" format="ixt:numdotdecimal" decimals="0" unitRef="USD">720,982</ix:nonFraction></span>, matures in May 2024 and pays interest
at a rate of <span id="xdx_90C_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zTeclXtsMsJa"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-03-31_custom_ThirdTermMember" id="Fact000565" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3.00</ix:nonFraction></span>%. If withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_903_ecustom--MinimumInterestPenalty_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zWyhnYx8Ex0f" title="Minimum interest penalty"><ix:nonFraction name="FSI:MinimumInterestPenalty" contextRef="AsOf2024-03-31_custom_ThirdTermMember" id="Fact000567" format="ixt:numdotdecimal" decimals="0" unitRef="USD">150</ix:nonFraction></span>, plus 1% of the principal shall
be levied. The fourth term deposit is for $<span id="xdx_902_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_z8aZ2heimwih"><ix:nonFraction name="us-gaap:Deposits" contextRef="AsOf2024-03-31_custom_FourthTermMember" id="Fact000568" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,000,000</ix:nonFraction></span> and matures in May 2024. This deposit pays <span id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zsEWLK0EApxh"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-03-31_custom_FourthTermMember" id="Fact000569" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3.85</ix:nonFraction></span>% and if withdrawn before maturity,
the greater of the loss of accrued interest or $<span id="xdx_909_ecustom--MinimumInterestPenalty_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zREo996lFmVi" title="Minimum interest penalty"><ix:nonFraction name="FSI:MinimumInterestPenalty" contextRef="AsOf2024-03-31_custom_FourthTermMember" id="Fact000571" format="ixt:numdotdecimal" decimals="0" unitRef="USD">150</ix:nonFraction></span>, plus 1% of the principal shall be levied. The fifth term deposit is for $<span id="xdx_900_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FifthTermMember_zNAnmy2g2QK9"><ix:nonFraction name="us-gaap:Deposits" contextRef="AsOf2024-03-31_custom_FifthTermMember" id="Fact000572" format="ixt:numdotdecimal" decimals="0" unitRef="USD">310,695</ix:nonFraction></span>,
matures in August 2024 and pays interest at a rate of <span id="xdx_90A_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FifthTermMember_zzWsQz3A3vE2" title="Interest rate"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-03-31_custom_FifthTermMember" id="Fact000574" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3.85</ix:nonFraction></span>%. If withdrawn before maturity, a penalty may be applied.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000576" name="us-gaap:InventoryPolicyTextBlock"><p id="xdx_84B_eus-gaap--InventoryPolicyTextBlock_zcWe5KH5546a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)
<i><span id="xdx_86F_zFdvQHqpGkui">Inventories and Cost of Sales</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has three major classes of inventory: completed goods, work in progress and raw materials and supplies. In all classes inventories
are stated at the lower of cost or net realizable value. Cost is determined on a first-in, first-out basis or weighted average cost
formula to inventories in different subsidiaries. Cost of sales includes all expenditures incurred in bringing the goods to the point
of sale. Inventory costs and costs of sales include direct costs of the raw material, inbound freight charges, warehousing costs, handling
costs (receiving and purchasing) and utilities and overhead expenses related to the Company&#8217;s manufacturing and processing facilities.
Shipping and handling charges billed to customers are included in revenue (2024 - $<span id="xdx_906_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zG9KQZBHRvOf" title="Sales"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_us-gaap_ShippingAndHandlingMember" id="Fact000578" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">128,289</ix:nonFraction></span>; 2023 - $<span id="xdx_901_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_z81pX6BvSDl3" title="Sales"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_us-gaap_ShippingAndHandlingMember" id="Fact000580" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">143,173</ix:nonFraction></span>). Shipping and handling costs
incurred are included in cost of goods sold (2024 - $<span id="xdx_906_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zLLNHaoruwuk" title="Cost of sales"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2024-01-012024-03-31_us-gaap_ShippingAndHandlingMember" id="Fact000582" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">216,503</ix:nonFraction></span>; 2023 - $<span id="xdx_908_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_z3CaYo37rZK7" title="Cost of sales"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="From2023-01-012023-03-31_us-gaap_ShippingAndHandlingMember" id="Fact000584" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">255,489</ix:nonFraction></span>).</span></p>

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


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

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000586" name="us-gaap:PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy"><p id="xdx_840_eus-gaap--PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_z2Vq8K0PG0s4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d)
<i><span id="xdx_867_zLQLDSH53vxj">Allowance for expected credit losses</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company&#8217;s expected credit losses are determined through a review
using historical credit loss experience; changes in asset specific characteristics, current conditions, and reasonable and supportable
future forecasts, among other specific account data, and is performed at least quarterly. The company develops and documents its methodology
to determine its allowance for expected credit losses. Risk characteristics used by the Company may include customer mix, knowledge of
customers and general economic conditions of the various local economics, among others. Specific account balances are written off when
management determines the amounts to be uncollectible. Management has reviewed the balance reserved through the allowance for expected
losses and believes it is reasonable.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000588" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock"><p id="xdx_842_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zZ07thJRLxEf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(e)
<i><span id="xdx_868_zPTF9WWoaN93">Property, Equipment, Leaseholds and Intangible Assets</span>.</i></span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000590" name="FSI:ScheduleOfMethodOfDepreciationTableTextBlock"><p id="xdx_896_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zP0elhHtTvL2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B4_zr2vNuEB9na1" style="display: none">SCHEDULE OF METHOD OF DEPRECIATION</span></p>

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse; margin-left: 0.75in">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Manufacturing
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zrNSkPUGyK94" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2024-01-012024-03-31_us-gaap_MachineryAndEquipmentMember" id="Fact000592" name="FSI:DepreciationMethodUsedAndAnnualRate">20%
    Declining balance</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zy6XWTFJvQWl" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2024-01-012024-03-31_us-gaap_OfficeEquipmentMember" id="Fact000594" name="FSI:DepreciationMethodUsedAndAnnualRate">20%
    Declining balance</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Building
    and improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_901_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zCwcYMGFOJN3" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2024-01-012024-03-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000596" name="FSI:DepreciationMethodUsedAndAnnualRate">10%
    Declining balance</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Automobiles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zLT8twLNlpB5" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2024-01-012024-03-31_us-gaap_AutomobilesMember" id="Fact000598" name="FSI:DepreciationMethodUsedAndAnnualRate">Straight-line
    over 5 years</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Technology</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_z5KYl0x993Xj" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2024-01-012024-03-31_us-gaap_TechnologyEquipmentMember" id="Fact000600" name="FSI:DepreciationMethodUsedAndAnnualRate">Straight-line
    over 10 years</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Leasehold
    improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zIdkrd8NP6Bc" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2024-01-012024-03-31_us-gaap_LeaseholdImprovementsMember" id="Fact000602" name="FSI:DepreciationMethodUsedAndAnnualRate">Straight-line
    over lease term</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customer
    relationships </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_z8lIP2E3Iqz6" title="Depreciation method used and annual rate"><ix:nonNumeric contextRef="From2024-01-012024-03-31_us-gaap_CustomerRelationshipsMember" id="Fact000604" name="FSI:DepreciationMethodUsedAndAnnualRate">Straight-line
    over 15 years</ix:nonNumeric></span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>
</ix:nonNumeric><p id="xdx_8A5_zwBKFwCwlxmj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000606" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"><p id="xdx_848_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zQYGruLzMeQ6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(f)
<i><span id="xdx_864_ziZkad3F28yi">Impairment of Long-Lived Assets</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 360, <i>Property, Plant and Equipment</i> (ASC 360), the Company reviews long-lived assets, including,
but not limited to, property, equipment and leaseholds, patents and other assets, for impairment annually or whenever events or changes
in circumstances indicate the carrying amounts of assets may not be recoverable. The carrying value of long-lived assets is assessed
for impairment by evaluating operating performance and future undiscounted cash flows of the underlying assets. If the expected future
cash flows of an asset is less than its carrying value, an impairment measurement is indicated. Impairment charges are recorded to the
extent that an asset&#8217;s carrying value exceeds its fair value. Accordingly, actual results could vary significantly from such estimates.
There were no impairment charges during the periods presented.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000608" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock"><p id="xdx_843_eus-gaap--ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_zuNUpO6r6H5l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(g)
<i><span id="xdx_86E_zhVbRTvVPH1g">Foreign Currency</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
functional currency of the Company is the U.S. dollar. The functional currency of three of the Company&#8217;s subsidiaries is the Canadian
dollar. The translation of the Canadian dollar to the reporting currency of the Company, the U.S. dollar, is performed for assets and
liabilities using exchange rates in effect at the balance sheet date. Revenue and expense transactions are translated using average exchange
rates prevailing during the year. Translation adjustments arising on conversion of the Company&#8217;s financial statements from the
subsidiary&#8217;s functional currency, Canadian dollars, into the reporting currency, U.S. dollars, are excluded from the determination
of income (loss) and are disclosed as other comprehensive income in the consolidated statements of income and comprehensive income.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Foreign
exchange gains and losses relating to transactions not denominated in the applicable local currency are included in operating income
(loss) if realized during the year and in comprehensive income (loss) if they remain unrealized at the end of the year.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000610" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock"><p id="xdx_840_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zzH6m8ktZcy2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(h)
<i><span id="xdx_86D_zpC7ZURbKYi8">Revenue Recognition</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note
15.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company follows a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with the customer,
(2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4) allocation of
the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation is satisfied.
The Company has fulfilled its performance obligations when control transfers to the customer, which is generally at the time the product
is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free-on-board shipping
point, the Company has elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Since
the Company&#8217;s inception, product returns have been insignificant; therefore, no provision has been established for estimated product
returns.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
revenues consist of products sold to distributors with payment terms greater than the Company&#8217;s customary business terms due to
lack of credit history or operating in a new market in which the Company has no prior experience. The Company defers the recognition
of revenue until the criteria for revenue recognition has been met and payments become due or cash is received from these distributors.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000612" name="FSI:StockIssuedInExchangeForServicesPolicyTextBlock"><p id="xdx_84E_ecustom--StockIssuedInExchangeForServicesPolicyTextBlock_zkOwr6D3SyP9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(i)
<i><span id="xdx_86A_z8bcJq9ovuhi">Stock Issued in Exchange for Services</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s common stock issued in exchange for services is valued at estimated fair market value based upon trading prices of the
Company&#8217;s common stock on the dates of the stock transactions. The corresponding expense of the services rendered is recognized
over the period that the services are performed.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000614" name="us-gaap:CompensationRelatedCostsPolicyTextBlock"><p id="xdx_847_eus-gaap--CompensationRelatedCostsPolicyTextBlock_zyRTn9ZOSlbd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(j)
<i><span id="xdx_86F_zf9PYjuEMVua">Stock-based Compensation</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognizes compensation expense for all share-based payments in accordance with FASB Codification Topic 718, <i>Compensation
&#8212; Stock Compensation</i> (ASC 718). Under the fair value recognition provisions of ASC 718, the Company recognizes share-based
compensation expense, net of an estimated forfeiture rate, over the requisite service period of the award.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value at grant date of stock options is estimated using the Black-Scholes option-pricing model. Compensation expense is recognized
on a straight-line basis over the stock option vesting period based on the estimated number of stock options that are expected to vest.
Shares are issued from treasury upon exercise of stock options.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000616" name="us-gaap:ComprehensiveIncomePolicyPolicyTextBlock"><p id="xdx_849_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_z4oyBN3P66v2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(k)
<i><span id="xdx_868_zWtfzOG52hXk">Other Comprehensive Income</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
comprehensive income refers to revenues, expenses, gains and losses that under generally accepted accounting principles are included
in comprehensive income, but are excluded from net income as these amounts are recorded directly as an adjustment to stockholders&#8217;
equity. The Company&#8217;s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the
translation of subsidiaries&#8217; functional currency into the reporting currency.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000618" name="us-gaap:EarningsPerSharePolicyTextBlock"><p id="xdx_843_eus-gaap--EarningsPerSharePolicyTextBlock_zVGbBHhaFMcf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(l)
<i><span id="xdx_866_zuW2leEvzjda">Income Per Share</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
earnings per share is computed by dividing income available to common stockholders by the weighted average number of common shares outstanding
in the period. Diluted earnings per share are calculated giving effect to the potential dilution of the exercise of options and warrants.
Common equivalent shares, composed of incremental common shares issuable upon the exercise of stock options and warrants are included
in diluted net income per share to the extent that these shares are dilutive. Common equivalent shares that have an anti-dilutive effect
on net income per share have been excluded from the calculation of diluted weighted average shares outstanding for the three months ended
March 31, 2024 and 2023.</span></p>

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


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

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000620" name="us-gaap:UseOfEstimates"><p id="xdx_848_eus-gaap--UseOfEstimates_zwun4of7g4H1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(m)
<i><span id="xdx_863_z2kbFklKh1I9">Use of Estimates</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States requires
management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the consolidated
financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from
those estimates and would impact the results of operations and cash flows.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 35.45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimates
and underlying assumptions are reviewed at each period end. Revisions to accounting estimates are recognized in the period in which the
estimates are revised and in any future periods affected.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Significant
areas requiring the use of management estimates include assumptions and estimates relating to the valuation of goodwill and intangible
assets, valuation of assets acquired at fair value, asset impairment analysis, share-based payments, valuation allowances for deferred
income tax assets, determination of useful lives of property, equipment and leaseholds and intangible assets, recoverability of accounts
receivable, recoverability of investments, discount rates for right of use assets and the costing and recoverable value of inventory.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000622" name="us-gaap:FairValueOfFinancialInstrumentsPolicy"><p id="xdx_84B_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zoev4b7Wg4eh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(n)
<i><span id="xdx_869_zjwkw1v9GFui">Fair Value of Financial Instruments</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Fair
value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal
or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.
Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.
The standard describes a fair value hierarchy based on three levels of inputs described below, of which the first two are considered
observable and the last unobservable, that may be used to measure fair value.</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    1 &#8211; Quoted prices in active markets for identical assets or liabilities.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    2 &#8211; Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets
    or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable
    market data for substantially the full term of the assets or liabilities.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    3 &#8212; Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets
    or liabilities.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair values of cash, term deposits, accounts receivable, accounts payable, accrued liabilities and the short term line of credit for
all periods presented approximate their respective carrying amounts due to the short term nature of these financial instruments.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of the long term debt and lease liabilities for all periods presented approximate their respective carrying amounts due to
these financial instruments being at market rates.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000624" name="us-gaap:CommitmentsAndContingenciesPolicyTextBlock"><p id="xdx_84B_eus-gaap--CommitmentsAndContingenciesPolicyTextBlock_zg2ZTRJRVm1c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(o)
<i><span id="xdx_863_zlwP3hsVBn16">Contingencies</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
conditions may exist as of the date the consolidated financial statements are issued which may result in a loss to the Company but which
will only be resolved when one or more future events occur or fail to occur. The Company&#8217;s management and its legal counsel assess
such contingent liabilities, and such assessment inherently involves an exercise of judgment. In assessing loss contingencies related
to legal proceedings that are pending against the Company or unasserted claims that may result in such proceedings, the Company&#8217;s
legal counsel evaluates the perceived merits of any legal proceedings or unasserted claims as well as the perceived merits of the amount
of relief sought or expected to be sought therein.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
the assessment of a contingency indicates that it is probable that a material loss has been incurred and the amount of the liability
can be estimated, the estimated liability would be accrued in the Company&#8217;s consolidated financial statements. If the assessment
indicates that a potential material loss contingency is not probable, but is reasonably possible, or is probable but cannot be estimated,
then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, would
be disclosed.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Loss
contingencies considered remote are generally not disclosed unless they involve guarantees, in which case the guarantees would be disclosed.
Legal fees associated with loss contingencies are expensed as incurred. The Company is not aware of any contingencies at the date of
these consolidated financial statements.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000626" name="us-gaap:IncomeTaxPolicyTextBlock"><p id="xdx_84E_eus-gaap--IncomeTaxPolicyTextBlock_zyUBcqtmPd85" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(p)
<i><span id="xdx_862_zhJmdPOPoRG5">Income Taxes</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
taxes are computed by multiplying the Company&#8217;s taxable net income by the Company&#8217;s effective tax rates. Deferred income
tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial
statement carrying amounts of existing assets and liabilities and their respective tax bases, and operating loss carry-forwards, if any.
Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which
those temporary differences are expected to be recovered or settled. The effect on deferred income tax assets and liabilities of a change
in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is provided to reduce the
carrying amount of deferred income tax assets if it is considered more likely than not that some portion, or all, of the deferred income
tax assets will not be realized.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 740, <i>Income taxes</i> (ASC 740) under the liability method, it is the Company&#8217;s policy
to provide for uncertain tax positions and the related interest and penalties based upon management&#8217;s assessment of whether a tax
benefit is more likely than not to be sustained upon examination by tax authorities. At March 31, 2024, the Company believes it has appropriately
accounted for any unrecognized tax benefits. To the extent the Company prevails in matters for which a liability for an unrecognized
benefit is established or is required to pay amounts in excess of the liability, the Company&#8217;s effective tax rate in a given financial
statement period may be affected. Interest and penalties associated with the Company&#8217;s tax positions are recorded as interest expense
in the consolidated statements of income and comprehensive income.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000628" name="us-gaap:ConcentrationRiskCreditRisk"><p id="xdx_84E_eus-gaap--ConcentrationRiskCreditRisk_zXevU6ME2ii7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(q)
<i><span id="xdx_86F_zyUg1q2tepSb">Risk Management</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s credit risk is primarily attributable to its accounts receivable. The amounts presented in the accompanying
consolidated balance sheets are net of allowances for doubtful accounts, estimated by the Company&#8217;s management based on prior
experience and the current economic environment. The Company is exposed to credit-related losses in the event of non-payment by
customers. Credit exposure is minimized by dealing with only credit worthy counterparties. Revenue for the Company&#8217;s three
primary customers totaled $<span id="xdx_901_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zXtfA4Ilxdhj" title="Sales"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember" id="Fact000630" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">5,106,905</ix:nonFraction></span>
(<span id="xdx_90E_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20240101__20240331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z6o9MVeAEaAf" title="Accounts receivable, after allowance for credit loss"><ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2024-01-012024-03-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember" id="Fact000632" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">55</ix:nonFraction></span>%)
for the three months ended March 31, 2024 (2023 - $<span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zOIpbbAj1jki" title="Sales"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember" id="Fact000634" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,366,106</ix:nonFraction></span>
or <span id="xdx_909_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20230331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zwLJYgdweEL3" title="Accounts receivable, after allowance for credit loss"><ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2023-01-012023-03-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember" id="Fact000636" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">44</ix:nonFraction></span>%).
Accounts receivable for the Company&#8217;s three primary customers totaled $<span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zTIOvE4qRz1i" title="Sale"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" id="Fact000638" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">7,843,766</ix:nonFraction></span>
(<span id="xdx_90C_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20240101__20240331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z9QJ48EzRGSf" title="Accounts receivable, after allowance for credit loss, percentage"><ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2024-01-012024-03-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" id="Fact000640" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">60</ix:nonFraction></span>%)
at March 31, 2024 (December 31, 2023 - $<span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zBsoQR0MHaV2" title="Sale"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" id="Fact000642" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,561,164</ix:nonFraction></span>
or<span id="xdx_90E_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zC6maiH32m3" title="Accounts receivable, after allowance for credit loss, percentage">
<ix:nonFraction name="FSI:ConcentrationRiskThresholdPercentage" contextRef="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember" id="Fact000644" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">67</ix:nonFraction></span>%). See Note 4 for allowance for doubtful accounts, all unrelated to our primary customers.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
credit risk on cash is limited because the Company limits its exposure to credit loss by placing its cash with major financial institutions.
The Company maintains cash balances at financial institutions which at times exceed federally insured amounts. The Company has not experienced
any losses in such accounts.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to foreign risk to the extent that market value rate fluctuations materially differ for financial assets and liabilities
denominated in foreign currencies.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to foreign exchange risks, the Company closely monitors the fluctuations in the foreign currency exchange
rates and the impact on the value of cash, accounts receivable, and accounts payable and accrued liabilities. The Company has not hedged
its exposure to currency fluctuations.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to interest rate risk to the extent that the fair value or future cash flows for financial liabilities will fluctuate
as a result of changes in market interest rates. The Company is exposed to interest rate risk on its long-term debt subject to fixed
long-term interest rates.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to interest rate risk, the Company closely monitors fluctuations in market interest risks and will
refinance its long-term debt where possible to obtain more favourable rates.</span></p>

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


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

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000646" name="us-gaap:EquityMethodInvestmentsPolicy"><p id="xdx_84A_eus-gaap--EquityMethodInvestmentsPolicy_zD9r1eWisJqe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(r)
<i><span id="xdx_865_zEfI0AcDC6Uf">Equity Method Investment</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company accounts for investments using the equity method of accounting if the investment provides the Company the ability to exercise
significant influence, but not control, over the investee. <span id="xdx_903_eus-gaap--EquityMethodInvestmentDescriptionOfPrincipalActivities_c20240101__20240331__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--InvestmentMember_zSjysWCo8ZS7" title="Equity method investment, description"><ix:nonNumeric contextRef="From2024-01-012024-03-31_custom_InvestmentMember" id="Fact000648" name="us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities">Significant influence is generally deemed to exist if the Company&#8217;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#8217;s board of directors, are considered in determining whether the equity method of accounting is appropriate.</ix:nonNumeric></span> Under
the equity method of accounting, the investment is initially recorded at cost in the consolidated balance sheets under other assets and
adjusted for dividends received and the Company&#8217;s share of the investee&#8217;s earnings or losses together with other-than-temporary
impairments which are recorded through other income (loss), net in the consolidated statements of operations and comprehensive income
(loss).</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000650" name="us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock"><p id="xdx_844_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zrp5Sd4hKgYe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(s)
<i><span id="xdx_86B_zhyyqDBoaIMf">Goodwill and Intangible Assets</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
represents the excess of the purchase price of an acquired entity over the amounts assigned to the assets acquired and liabilities assumed.
Goodwill is not amortized, but is reviewed for impairment annually or more frequently if certain impairment conditions arise. The Company
performs an annual goodwill impairment review in the fourth quarter of each year at the reporting unit level. The evaluation begins with
a qualitative assessment of the factors that could impact the significant inputs used to estimate fair value. If after performing the
qualitative assessment, it is determined that it is more likely than not that the fair value of a reporting unit is greater than its
carrying amount, including goodwill, then no further analysis is necessary. However, if the results of the qualitative test are unclear,
the Company performs a quantitative test, which involves comparing the fair value of a reporting unit with its carrying amount, including
goodwill. The Company uses an income-based valuation method, determining the present value of future cash flows, to estimate the fair
value of a reporting unit. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered
not impaired, and no further analysis is necessary. If the fair value of the reporting unit is less than its carrying amount, goodwill
impairment would be recognized equal to the amount of the carrying value in excess of the reporting unit&#8217;s fair value, limited
to the total amount of goodwill allocated to the reporting unit.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
assets primarily include trademarks and trade secrets with indefinite lives and customer-relationships with finite lives. Intangible
assets with indefinite lives are not amortized but are tested for impairment on an annual basis, or more frequently if indicators of
impairment are present. Indefinite lived intangible assets are assessed using either a qualitative or a quantitative approach. The qualitative
assessment evaluates factors including macro-economic conditions, industry and company-specific factors, legal and regulatory environments,
and historical company performance in assessing fair value. If it is determined that it is more likely than not that the fair value of
the intangible asset is less than its carrying value, a quantitative test is then performed. Otherwise, no further testing is required.
When using a quantitative approach, the Company compares the fair value of the intangible asset to its carrying amount. If the estimated
fair value of the intangible asset is less than the carrying amount of the intangible asset, impairment is indicated, requiring recognition
of an impairment charge for the differential.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 350, <i>Intangibles &#8211; Goodwill and Other, </i>(ASC 350), qualitative assessments of goodwill
and indefinite-lived intangible assets were performed at December 31, 2023. Based on the results of the assessment, it was determined
that it is more likely than not the reporting unit, customer lists and trademarks had a fair value in excess of their carrying amounts.
Accordingly, no further impairment testing was completed and no impairment charges related to goodwill or indefinite-lived intangibles
were recognized during the three months ended March 31, 2024.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Finite-lived
intangible assets are amortized on a straight-line basis over their estimated useful lives. The Company reviews for impairment indicators
of finite-lived intangibles and other long-lived assets as described in the &#8220;Impairment of Long Lived Assets&#8221; significant
accounting policy.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000652" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock"><p id="xdx_840_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zTaqRYX9b7W2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(t)
<i><span id="xdx_864_z6PfYdnSZJZg">Recent Accounting Pronouncements</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has implemented all applicable new accounting pronouncements that are in effect. Those pronouncements did not have any material
impact on the consolidated financial statements unless otherwise disclosed, and the Company does not believe that there are any other
new accounting pronouncements that have been issued that might have a material impact on its financial position or results of operations.</span></p>

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


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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000654" name="us-gaap:LesseeOperatingLeasesTextBlock"><p id="xdx_80C_eus-gaap--LesseeOperatingLeasesTextBlock_zoTy3753qEm2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>3.
<span id="xdx_821_zC4SSi3JeJB6">LEASES</span> </b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Leases
are evaluated and classified as either operating or finance leases by the lessee and as either operating, sales-type or direct financing
leases by the lessor. For leases with terms greater than 12 months, the Company records the related right-of-use (&#8220;ROU&#8221;)
asset and lease obligation at the present value of lease payments over the term. Leases may include fixed rental escalation clauses,
renewal options and / or termination options that are factored into the determination of lease payments when appropriate. The Company&#8217;s
operating leases are included in ROU assets, lease liabilities-current portion and lease liability-long term portion in the accompanying
consolidated balance sheets. ROU assets represent the Company&#8217;s right to use an underlying asset for the lease term, and lease
liabilities represent the obligation to make lease payments arising from the lease. The Company&#8217;s leases do not usually provide
a readily determinable implicit rate; therefore, an estimate of the Company&#8217;s incremental borrowing rate is used to discount the
lease payments based on information available at the lease commencement date. The discount rate used was <span id="xdx_909_eus-gaap--LesseeOperatingLeaseDiscountRate_iI_pid_dp_uPure_c20240331_zqc74eEb5ufi" title="Operating leases discount rate"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseDiscountRate" contextRef="AsOf2024-03-31" id="Fact000656" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">5.5</ix:nonFraction></span>%.</span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000658" name="FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock"><p id="xdx_894_ecustom--SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_zsSpCTbKYj82" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
March 2024, the Company consolidated NanoChem operations into the Peril, IL locations and terminated the lease in Naperville, IL.
The Company had to pay a penalty of $<span id="xdx_90F_eus-gaap--OperatingLeaseLeaseIncomeLeasePayments_c20240101__20240331_zgz1VpLPilSg" title="Payment of penalty"><ix:nonFraction name="us-gaap:OperatingLeaseLeaseIncomeLeasePayments" contextRef="From2024-01-01to2024-03-31" id="Fact000660" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,910</ix:nonFraction></span>
and forfeited the $<span id="xdx_906_eus-gaap--SecurityDeposit_iI_c20240331_zcckKAtE4Ov4" title="Security deposit"><ix:nonFraction name="us-gaap:SecurityDeposit" contextRef="AsOf2024-03-31" id="Fact000662" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,440</ix:nonFraction></span> security deposit to terminate the lease early and incurred a loss of $<span id="xdx_908_eus-gaap--GainLossOnTerminationOfLease_iN_di_c20240101__20240331_ztPGBT1Zs9Qf" title="Loss on terminating lease"><ix:nonFraction name="us-gaap:GainLossOnTerminationOfLease" contextRef="From2024-01-01to2024-03-31" id="Fact000664" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">41,350</ix:nonFraction></span>
on early termination of the lease. The table below summarizes the right-of-use asset and lease liability for the periods ended March
31, 2024 and December 31, 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B0_zmkB5qLPhHA6" style="display: none">SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline; font-weight: bold; text-align: left">Right of Use Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%">Balance at December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20230101__20231231_zYC4ZP0Bdm35" title="Right of use assets, beginning balance" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2022-12-31" id="Fact000666" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">167,222</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Depreciation</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20230101__20231231_zhgb6w3Pkk7h" title="Depreciation" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2023-01-012023-12-31" id="Fact000668" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">51,929</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance at December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20240101__20240331_zgdtTqmrmsX" title="Right of use assets, beginning balance" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-12-31" id="Fact000670" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">115,293</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20240101__20240331_zZF8EBsIhQC9" title="Depreciation" style="text-align: right">(<ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2024-01-01to2024-03-31" id="Fact000672" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">13,694</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Early termination of lease</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_982_ecustom--OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_iN_pp0p0_di_c20240101__20240331_zFwDEgAfn5nc" title="Right of use assets, early termination of lease" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="FSI:OperatingLeaseRightOfUseAssetEarlyTerminationOfLease" contextRef="From2024-01-01to2024-03-31" id="Fact000674" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">101,599</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance at March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98B_eus-gaap--OperatingLeaseRightOfUseAsset_iE_pp0p0_c20240101__20240331_zwWLzyppwcHl" title="Right of use assets, ending balance" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0676">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline; font-weight: bold; text-align: left">Lease Liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20230101__20231231_zcSBRJuI75Kk" title="Lease liability, beginning balance" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2022-12-31" id="Fact000678" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">167,222</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--LeaseInterestExpense_pp0p0_c20230101__20231231_zj67bxoJPii" title="Lease interest expense" style="text-align: right"><ix:nonFraction name="FSI:LeaseInterestExpense" contextRef="From2023-01-012023-12-31" id="Fact000680" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">6,151</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Payments</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20230101__20231231_zAde8F1VAwd4" title="Payments" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:OperatingLeasePayments" contextRef="From2023-01-012023-12-31" id="Fact000682" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">58,080</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance at December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98A_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20240101__20240331_zyxcnXpTPGsg" title="Lease liability, beginning balance" style="text-align: right"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2023-12-31" id="Fact000684" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">115,293</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--LeaseInterestExpense_pp0p0_c20240101__20240331_zKAtcOFsKGy7" title="Lease interest expense" style="text-align: right"><ix:nonFraction name="FSI:LeaseInterestExpense" contextRef="From2024-01-01to2024-03-31" id="Fact000686" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,186</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20240101__20240331_ziaIVBZrflfd" title="Payments" style="text-align: right">(<ix:nonFraction name="us-gaap:OperatingLeasePayments" contextRef="From2024-01-01to2024-03-31" id="Fact000688" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">14,880</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Early termination of lease</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_ecustom--OperatingLeaseLiabilityEarlyTerminationOfLease_iN_pp0p0_di_c20240101__20240331_zGtrZxzbp0zj" title="Lease liability, early termination of lease" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="FSI:OperatingLeaseLiabilityEarlyTerminationOfLease" contextRef="From2024-01-01to2024-03-31" id="Fact000690" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">101,599</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance at March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98B_eus-gaap--OperatingLeaseLiability_iE_pp0p0_c20240101__20240331_zw7hddC1nyt8" title="Lease liability, ending balance" style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0692">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000694" name="us-gaap:FinancingReceivablesTextBlock"><p id="xdx_808_eus-gaap--FinancingReceivablesTextBlock_zdYu2iZsVFP7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>4.
<span id="xdx_824_zD95rNBnXMfb">ACCOUNTS RECEIVABLE </span></b></span></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000696" name="us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock"><p id="xdx_893_eus-gaap--AccountsReceivableAllowanceForCreditLossTableTextBlock_z6rjEeGuPf59" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B6_zrx4DFK8wUQ" style="display: none">SCHEDULE OF ACCOUNTS RECEIVABLE</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_498_20240331_zivVqGBIYXml" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zjwM8ZZCa9Va" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">December 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AccountsReceivableGross_iI_pp0p0_maAANRNzPjC_zAfCaBm4DgJ9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Accounts receivable</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableGross" contextRef="AsOf2024-03-31" id="Fact000698" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">13,281,820</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:AccountsReceivableGross" contextRef="AsOf2023-12-31" id="Fact000699" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">10,133,249</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_iNI_pp0p0_di_msAANRNzPjC_zthV146lLqYe" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Allowances for doubtful accounts</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" contextRef="AsOf2024-03-31" id="Fact000701" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">289,277</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" contextRef="AsOf2023-12-31" id="Fact000702" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">290,193</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--AccountsAndNotesReceivableNet_iTI_pp0p0_mtAANRNzPjC_z6hpFZ6ndfNa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total accounts receivable</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccountsAndNotesReceivableNet" contextRef="AsOf2024-03-31" id="Fact000704" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">12,992,543</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccountsAndNotesReceivableNet" contextRef="AsOf2023-12-31" id="Fact000705" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">9,843,056</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000707" name="us-gaap:InventoryDisclosureTextBlock"><p id="xdx_80A_eus-gaap--InventoryDisclosureTextBlock_zEsyAu84VJpd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>5.
<span id="xdx_825_zf6ZDJbSV0L9">INVENTORIES</span> </b></span></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000709" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock"><p id="xdx_897_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_z1q0rWdSYWpe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BA_zI96CjLFQ4Yg" style="display: none">SCHEDULE OF INVENTORY</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_498_20240331_zyKJlqIjo6Oi" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zWnbpYTVwEzj" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">December 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--InventoryFinishedGoods_iI_pp0p0_maINzkLt_zNaj9XyKFg99" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Completed goods</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="AsOf2024-03-31" id="Fact000711" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,139,797</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:InventoryFinishedGoods" contextRef="AsOf2023-12-31" id="Fact000712" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,682,158</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--InventoryRawMaterialsAndSupplies_iI_pp0p0_maINzkLt_zqPVpQEBrVN5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Raw materials and supplies</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:InventoryRawMaterialsAndSupplies" contextRef="AsOf2024-03-31" id="Fact000714" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,319,459</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:InventoryRawMaterialsAndSupplies" contextRef="AsOf2023-12-31" id="Fact000715" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">8,452,731</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--InventoryNet_iTI_pp0p0_mtINzkLt_zdMsmYiMcF12" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total inventory</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2024-03-31" id="Fact000717" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">10,459,256</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="AsOf2023-12-31" id="Fact000718" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,134,889</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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


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

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000720" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock"><p id="xdx_807_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zl8ORuhcnjcg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>6.
<span id="xdx_82B_z8X5PDb1JNg5">PROPERTY, EQUIPMENT AND LEASEHOLDS </span></b></span></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000722" name="us-gaap:PropertyPlantAndEquipmentTextBlock"><p id="xdx_892_eus-gaap--PropertyPlantAndEquipmentTextBlock_zS0DBXgJKBKd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zukh3aed8U5" style="display: none">SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zN6zlxXDyv1h" style="vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zzUvUvezMeo5" style="vertical-align: bottom; text-align: center">Accumulated</td><td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zrJ5TneS83Ag" style="vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Cost</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Depreciation</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Net</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr id="xdx_414_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zvOjAwC7GUB6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-03-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000723" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,408,992</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-03-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000724" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,049,352</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-03-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000725" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,359,640</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_417_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zAtE6aaK0slg" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-03-31_us-gaap_AutomobilesMember" id="Fact000726" format="ixt:numdotdecimal" decimals="0" unitRef="USD">196,255</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-03-31_us-gaap_AutomobilesMember" id="Fact000727" format="ixt:numdotdecimal" decimals="0" unitRef="USD">147,232</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-03-31_us-gaap_AutomobilesMember" id="Fact000728" format="ixt:numdotdecimal" decimals="0" unitRef="USD">49,023</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41B_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zGENtOPTREE1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-03-31_us-gaap_OfficeEquipmentMember" id="Fact000729" format="ixt:numdotdecimal" decimals="0" unitRef="USD">122,161</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-03-31_us-gaap_OfficeEquipmentMember" id="Fact000730" format="ixt:numdotdecimal" decimals="0" unitRef="USD">111,825</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-03-31_us-gaap_OfficeEquipmentMember" id="Fact000731" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,336</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_412_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zgTgaswUitYc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-03-31_us-gaap_MachineryAndEquipmentMember" id="Fact000732" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,424,369</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-03-31_us-gaap_MachineryAndEquipmentMember" id="Fact000733" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,016,720</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-03-31_us-gaap_MachineryAndEquipmentMember" id="Fact000734" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,407,649</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zR0U5vcSK1jg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-03-31_us-gaap_LandMember" id="Fact000735" format="ixt:numdotdecimal" decimals="0" unitRef="USD">440,592</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0736">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-03-31_us-gaap_LandMember" id="Fact000737" format="ixt:numdotdecimal" decimals="0" unitRef="USD">440,592</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41A_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zwkeHdBuMYW9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-03-31_us-gaap_LeaseholdImprovementsMember" id="Fact000738" format="ixt:numdotdecimal" decimals="0" unitRef="USD">88,872</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-03-31_us-gaap_LeaseholdImprovementsMember" id="Fact000739" format="ixt:numdotdecimal" decimals="0" unitRef="USD">88,872</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0740">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_414_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_z5e7JMtHSNN7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Technology</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-03-31_us-gaap_DevelopedTechnologyRightsMember" id="Fact000741" format="ixt:numdotdecimal" decimals="0" unitRef="USD">100,819</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-03-31_us-gaap_DevelopedTechnologyRightsMember" id="Fact000742" format="ixt:numdotdecimal" decimals="0" unitRef="USD">100,819</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0743">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_981_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20240331_zrU91weJQVhe" title="Cost" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-03-31" id="Fact000745" format="ixt:numdotdecimal" decimals="0" unitRef="USD">23,782,060</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98C_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20240331_ziuaWlWzOMx5" title="Accumulated Depreciation" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-03-31" id="Fact000747" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,514,820</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_984_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20240331_z7A028iNL4w3" title="Property, plant and equipment, net, total" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-03-31" id="Fact000749" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,267,240</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zlwJpFEV7dk8" style="text-align: center">December 31, 2023</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zysZDJVltTEf" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zU2lnB4EUwD7" style="text-align: center">December 31, 2023</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Cost</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Depreciation</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Net</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_418_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zwynXpLSzgc8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000750" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,341,605</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000751" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,896,887</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember" id="Fact000752" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,444,718</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_41A_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zxoxOT9zrOle" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_AutomobilesMember" id="Fact000753" format="ixt:numdotdecimal" decimals="0" unitRef="USD">196,255</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_AutomobilesMember" id="Fact000754" format="ixt:numdotdecimal" decimals="0" unitRef="USD">140,040</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_AutomobilesMember" id="Fact000755" format="ixt:numdotdecimal" decimals="0" unitRef="USD">56,215</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zfMpk1lXNKWd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember" id="Fact000756" format="ixt:numdotdecimal" decimals="0" unitRef="USD">177,623</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember" id="Fact000757" format="ixt:numdotdecimal" decimals="0" unitRef="USD">165,048</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember" id="Fact000758" format="ixt:numdotdecimal" decimals="0" unitRef="USD">12,575</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zbyZ1BasbRy3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember" id="Fact000759" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,017,466</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember" id="Fact000760" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,799,779</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember" id="Fact000761" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,217,687</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zVweAIEnSRel" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_LandMember" id="Fact000762" format="ixt:numdotdecimal" decimals="0" unitRef="USD">440,592</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0763">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_us-gaap_LandMember" id="Fact000764" format="ixt:numdotdecimal" decimals="0" unitRef="USD">440,592</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zRvFJ9Sv3W49" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember" id="Fact000765" format="ixt:numdotdecimal" decimals="0" unitRef="USD">88,872</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember" id="Fact000766" format="ixt:numdotdecimal" decimals="0" unitRef="USD">88,872</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0767">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zba0ORoLJCic" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Technology</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember" id="Fact000768" format="ixt:numdotdecimal" decimals="0" unitRef="USD">103,292</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember" id="Fact000769" format="ixt:numdotdecimal" decimals="0" unitRef="USD">103,292</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0770">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20231231_z2wXXerfkvBi" title="Cost" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31" id="Fact000772" format="ixt:numdotdecimal" decimals="0" unitRef="USD">23,365,705</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98E_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20231231_zqOMpInbXSoi" title="Accumulated Depreciation" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31" id="Fact000774" format="ixt:numdotdecimal" decimals="0" unitRef="USD">10,193,918</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20231231_zFX4GcKuDdLj" title="Property, plant and equipment, net, total" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31" id="Fact000776" format="ixt:numdotdecimal" decimals="0" unitRef="USD">13,171,787</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Amount
of depreciation expense for three months ended March 31, 2024 was: $<span id="xdx_907_eus-gaap--Depreciation_c20240101__20240331_za3DKrvYLPFb" title="Depreciation"><ix:nonFraction name="us-gaap:Depreciation" contextRef="From2024-01-01to2024-03-31" id="Fact000778" format="ixt:numdotdecimal" decimals="0" unitRef="USD">382,669</ix:nonFraction></span> (2023 - $<span id="xdx_907_eus-gaap--Depreciation_c20230101__20230331_zKYERBYJbwTj" title="Depreciation"><ix:nonFraction name="us-gaap:Depreciation" contextRef="From2023-01-012023-03-31" id="Fact000780" format="ixt:numdotdecimal" decimals="0" unitRef="USD">302,810</ix:nonFraction></span>) and is included in cost of sales in the
unaudited interim condensed consolidated statements of income and comprehensive income.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In January 2024, the Company lost power during a winter storm and some frozen pipes caused damage at two different locations. Insurance was in place and repairs are currently
being made.</span></p>
<!-- Field: Split-Segment; Name: 002 -->
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000782" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock"><p id="xdx_804_eus-gaap--GoodwillAndIntangibleAssetsDisclosureTextBlock_zQS7ryUpeUC7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>7.
<span id="xdx_827_zm0peL1c8Pba">GOODWILL AND INTANGIBLE ASSETS</span></b></span></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000784" name="us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock"><p id="xdx_89F_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zpkjYqyw9UQ3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BB_zYt6c9yNnv98" style="display: none">SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Goodwill</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 82%; padding-bottom: 1.5pt">Balance as of December 31, 2022 and 2023 and March 31, 2024</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right"><span id="xdx_905_eus-gaap--Goodwill_iE_c20221231_ziEl1WGBB1a9" title="Goodwill"><span id="xdx_902_eus-gaap--Goodwill_iE_c20231231_zmblRPN00qLe" title="Goodwill"><span id="xdx_903_eus-gaap--Goodwill_iE_c20240331_zbzbEoH3H9w1" title="Goodwill"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2022-12-31" id="Fact000786" format="ixt:numdotdecimal" decimals="0" unitRef="USD"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2023-12-31" id="Fact000788" format="ixt:numdotdecimal" decimals="0" unitRef="USD"><ix:nonFraction name="us-gaap:Goodwill" contextRef="AsOf2024-03-31" id="Fact000790" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,534,275</ix:nonFraction></ix:nonFraction></ix:nonFraction></span></span></span></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Indefinite Lived Intangible Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance as of December 31, 2022 and 2023 and March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_90C_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20221231_zXtp0SXD4Np6" title="Indefinite lived intangible assets"><span id="xdx_90E_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20231231_zIqeM0UoSb87" title="Indefinite lived intangible assets"><span id="xdx_909_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20240331_z2PAfnQ1W327" title="Indefinite lived intangible assets"><ix:nonFraction name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" contextRef="AsOf2022-12-31" id="Fact000792" format="ixt:numdotdecimal" decimals="0" unitRef="USD"><ix:nonFraction name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" contextRef="AsOf2023-12-31" id="Fact000794" format="ixt:numdotdecimal" decimals="0" unitRef="USD"><ix:nonFraction name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" contextRef="AsOf2024-03-31" id="Fact000796" format="ixt:numdotdecimal" decimals="0" unitRef="USD">770,000</ix:nonFraction></ix:nonFraction></ix:nonFraction></span></span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
relates to the acquisition of ENP Investments. Indefinite lived intangible assets consist of trade secrets and trademarks related to
the acquisition of ENP Investments.</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Definite Life Intangible Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 82%">Balance as of December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsNet_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zJ0dFg6xsYr2" title="Definite lived intangible assets, beginning balance" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2022-12-31_custom_EnPInvestmentsCorporationLLCMember" id="Fact000798" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,670,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--AmortizationOfIntangibleAssets_iN_pp0p0_di_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_z1RtnZ4Wyfyi" title="Amortization" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2023-01-012023-12-31_custom_EnPInvestmentsCorporationLLCMember" id="Fact000800" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">160,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balances as of December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsNet_iS_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zNFLe4M6eJQj" title="Definite lived intangible assets, beginning balance" style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2023-12-31_custom_EnPInvestmentsCorporationLLCMember" id="Fact000802" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,510,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--AmortizationOfIntangibleAssets_iN_pp0p0_di_c20240101__20240331__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zrjgX2H2cTtb" title="Amortization" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2024-01-012024-03-31_custom_EnPInvestmentsCorporationLLCMember" id="Fact000804" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">40,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balances as of March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsNet_iE_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_z2ytHZt0v3x3" title="Definite lived intangible assets, ending balance" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2024-03-31_custom_EnPInvestmentsCorporationLLCMember" id="Fact000806" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,470,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
amount of amortization for three months ended March 31, 2024 was $<span id="xdx_90A_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20240331_zUCX6NAx4eX4" title="Amortization"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2024-03-31" id="Fact000808" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">40,000</ix:nonFraction></span> (2023 - $<span id="xdx_90B_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20230331_zkamd89QHhb9" title="Amortization"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2023-03-31" id="Fact000810" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">40,000</ix:nonFraction></span>) and was included in cost of sales in the unaudited
interim condensed consolidated statements of income and comprehensive income.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Definite
lived intangible assets consist of customer relationships and software related to the acquisition of ENP Investments.</span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000812" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"><p id="xdx_893_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zgKvsuzrmpZ" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimated
amortization expense over the next five years is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B6_ztXwALYoAVpf" style="display: none">SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: justify">2024</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_iI_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zmOTfQIU9fE9" title="2024" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" contextRef="AsOf2024-03-31_us-gaap_FiniteLivedIntangibleAssetsMember" id="Fact000814" format="ixt:numdotdecimal" decimals="0" unitRef="USD">160,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">2025</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zUP3hoRNuBPe" title="2025" style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" contextRef="AsOf2024-03-31_us-gaap_FiniteLivedIntangibleAssetsMember" id="Fact000816" format="ixt:numdotdecimal" decimals="0" unitRef="USD">160,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_pp0p0_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_z4W7ado0iBJa" title="2026" style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" contextRef="AsOf2024-03-31_us-gaap_FiniteLivedIntangibleAssetsMember" id="Fact000818" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">160,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pp0p0_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zpHeNGnH3g55" title="2027" style="text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" contextRef="AsOf2024-03-31_us-gaap_FiniteLivedIntangibleAssetsMember" id="Fact000820" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">160,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1.5pt">2028</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_pp0p0_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zRGwt4LIDcE1" title="2028" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" contextRef="AsOf2024-03-31_us-gaap_FiniteLivedIntangibleAssetsMember" id="Fact000822" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">160,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000824" name="FSI:LongTermDepositsTextBlock"><p id="xdx_804_ecustom--LongTermDepositsTextBlock_zf4x7h5PTEuj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>8.
<span style="font-variant: small-caps"><span id="xdx_822_zmBf2gcJGl26">LONG TERM DEPOSITS</span> </span></b></span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000826" name="FSI:ScheduleOfLongTermDepositsTableTextBlock"><p id="xdx_896_ecustom--ScheduleOfLongTermDepositsTableTextBlock_z01JCisFMpD7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has security deposits that are long term in nature which consist of damage deposits held by landlords and deposits held by various
vendors for equipment purchases.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BC_zwI67e96r4ee" style="display: none">SCHEDULE OF LONG TERM DEPOSITS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_493_20240331_zqtK2CbPFxp1" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49F_20231231_zVCo1SMrvA7j" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">December 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--DepositsAssetsNoncurrent_iI_pp0p0_zq0nnH5LZKFj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt; width: 60%">Long term deposits</td><td style="padding-bottom: 1.5pt; width: 2%">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left; width: 1%">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right; width: 16%"><ix:nonFraction name="us-gaap:DepositsAssetsNoncurrent" contextRef="AsOf2024-03-31" id="Fact000828" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">840,592</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left; width: 1%">&#160;</td><td style="padding-bottom: 1.5pt; width: 2%">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left; width: 1%">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right; width: 16%"><ix:nonFraction name="us-gaap:DepositsAssetsNoncurrent" contextRef="AsOf2023-12-31" id="Fact000829" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">824,254</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left; width: 1%">&#160;</td></tr>
  </table>
<!-- Field: Split-Segment; Name: 003 -->
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

</ix:nonNumeric></ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000831" name="us-gaap:EquityMethodInvestmentsDisclosureTextBlock"><p id="xdx_807_eus-gaap--EquityMethodInvestmentsDisclosureTextBlock_zzg95Nw7Y6p2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>9.
<span id="xdx_821_zbBm1lDcGE34">INVESTMENTS</span> </b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-variant: small-caps">T</span>he
Company previously held a <span id="xdx_903_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--EnpPeruInvestmentsLlcMember_zoqXyBUkvTac"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2016-12-31_custom_EnpPeruInvestmentsLlcMember" id="Fact000832" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>% ownership interest in ENP Peru, split between NanoChem (<span id="xdx_909_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--NanoChemMember_zrm7eJFKHfbe"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2016-12-31_custom_NanoChemMember" id="Fact000833" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">41.67</ix:nonFraction></span>%) and ENP Investments (<span id="xdx_904_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_z0rpFkzOd0o2"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2016-12-31_custom_ENPInvestmentsLLCMember" id="Fact000834" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.33</ix:nonFraction></span>%), which was
acquired in fiscal 2016. ENP Peru is located in Illinois and leases warehouse space to other entities in the Company. In June 2022, NanoChem
acquired an additional <span id="xdx_903_ecustom--AdditionalEquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20220630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--NanoChemMember_zDxcQuDJp6il" title="Additional equity method investment ownership percentage"><ix:nonFraction name="FSI:AdditionalEquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2022-06-30_custom_NanoChemMember" id="Fact000836" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>% ownership interest at a cost of $<span id="xdx_90D_eus-gaap--BusinessCombinationConsiderationTransferred1_c20220601__20220630__srt--OwnershipAxis__custom--ENPPeruMember_zYmxok5G9pRj" title="Purchase consideration"><ix:nonFraction name="us-gaap:BusinessCombinationConsiderationTransferred1" contextRef="From2022-06-012022-06-30_custom_ENPPeruMember" id="Fact000838" format="ixt:numdotdecimal" decimals="0" unitRef="USD">506,659</ix:nonFraction></span> paid through a new $<span id="xdx_906_eus-gaap--Cash_iI_c20220630__srt--OwnershipAxis__custom--ENPPeruMember_z2UAAX81vCQd"><ix:nonFraction name="us-gaap:Cash" contextRef="AsOf2022-06-30_custom_ENPPeruMember" id="Fact000839" format="ixt:numdotdecimal" decimals="0" unitRef="USD">259,000</ix:nonFraction></span> mortgage and cash on hand. The <span id="xdx_907_eus-gaap--MinorityInterestOwnershipPercentageByNoncontrollingOwners_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--EnpnvestmentsLlcMember_zWkd5umF1Bnj" title="Non-controlling interest percentage"><ix:nonFraction name="us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners" contextRef="AsOf2023-12-31_custom_EnpnvestmentsLlcMember" id="Fact000841" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">35</ix:nonFraction></span>% non-controlling
interest of the <span id="xdx_902_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20231231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zCCqGNzDOlyi"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2023-12-31_custom_ENPInvestmentsLLCMember" id="Fact000842" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.33</ix:nonFraction></span>% owned by ENP Investments is included in non-controlling interest in these consolidated financial statements. The
Company&#8217;s investment in ENP Peru was previously accounted for using the equity method, however, it is now consolidated into the
consolidated financial statements from the date control was obtained. In June 2023, NanoChem purchased the remaining <span id="xdx_901_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20230630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zFU72XjOR9U6"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2023-06-30_custom_ENPInvestmentsLLCMember" id="Fact000843" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.33</ix:nonFraction></span>% of ENP Peru
from ENP Investments to become full owner.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">It
was determined that ENP Peru did not meet the definition of a business in accordance with FASB Codification Topic 805, <i>Business Combinations
</i>(ASC 805)<i>, </i>and the acquisition was accounted for as an asset acquisition. The following table summarizes the final purchase
price allocation of the consideration paid to the respective fair values of the assets acquired and liabilities assumed in ENP Peru as
of the acquisition date. The gain on acquisition of ENP Peru represents a gain on remeasurement of the Company&#8217;s equity method
investment immediately prior to the acquisition date.</span></p>

<ix:nonNumeric contextRef="From2024-01-012024-03-31_custom_EnpPeruInvestmentsLlcMember" escape="true" id="Fact000845" name="us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock"><p id="xdx_890_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zvy2uXMfv6I9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BB_zHOnoIqLr5X1" style="display: none">SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_498_20240101__20240331_z1UPgT0yUx1b" style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessCombinationConsiderationTransferred1_zXIp0fYZhfIb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left; padding-bottom: 1.5pt">Purchase consideration</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationConsiderationTransferred1" contextRef="From2024-01-01to2024-03-31" id="Fact000847" format="ixt:numdotdecimal" decimals="0" unitRef="USD">506,659</ix:nonFraction></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Assets acquired:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iE_zmqQbUZ76JSl" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Cash</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" contextRef="AsOf2024-03-31" id="Fact000849" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,330</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_iE_zSdJDuzHtPr6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Building</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" contextRef="AsOf2024-03-31" id="Fact000851" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,750,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_iE_z79ZdcuRJq65" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" contextRef="AsOf2024-03-31" id="Fact000853" format="ixt:numdotdecimal" decimals="0" unitRef="USD">150,000</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Liabilities assumed:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_iNE_di_z2Vh7wfvAmc8" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred tax liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" contextRef="AsOf2024-03-31" id="Fact000855" format="ixt:numdotdecimal" decimals="0" unitRef="USD">174,582</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_404_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_iE_zO3HAk9SRaf8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Long term debt</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="FSI:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" contextRef="AsOf2024-03-31" id="Fact000857" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">2,849,500</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iE_zrIawlBVHE5l" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total identifiable net assets:</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" contextRef="AsOf2024-03-31" id="Fact000859" format="ixt:numdotdecimal" decimals="0" unitRef="USD">883,248</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_iE_zG8O39oQ26Od" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Excess of assets acquired over consideration</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" contextRef="AsOf2024-03-31" id="Fact000861" format="ixt:numdotdecimal" decimals="0" unitRef="USD">376,589</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--InvestmentEliminatedUponConsolidation_zmqcqVzEqusg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Less investment eliminated upon consolidation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="FSI:InvestmentEliminatedUponConsolidation" contextRef="From2024-01-01to2024-03-31" id="Fact000863" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">41,538</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40D_ecustom--GainOnAcquisitionOfSubsidiary_ztzEqmj16bqc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Gain on acquisition of ENP Peru</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="FSI:GainOnAcquisitionOfSubsidiary" contextRef="From2024-01-01to2024-03-31" id="Fact000865" format="ixt:numdotdecimal" decimals="0" unitRef="USD">335,051</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<ix:nonNumeric contextRef="From2024-01-012024-03-31_custom_EnpPeruInvestmentsLlcMember" escape="true" id="Fact000867" name="us-gaap:EquityMethodInvestmentsTextBlock"><p id="xdx_89B_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zBcBhrwl7oZf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
summary of the Company&#8217;s investment follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zI6ks6LIzNka" style="display: none">SCHEDULE OF EQUITY METHOD INVESTMENT</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="text-align: left; width: 1%">&#160;</td><td id="xdx_985_eus-gaap--EquityMethodInvestments_iS_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_z1tWRSEEtvjg" title="Beginning, balance" style="text-align: right; width: 16%"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2022-12-31_custom_EnpPeruInvestmentsLlcMember" id="Fact000869" format="ixt:numdotdecimal" decimals="0" unitRef="USD">22,642</ix:nonFraction></td><td style="text-align: left; width: 1%">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Return of equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--EquityMethodInvestmentReturnOfEquity_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_z6bZpdAYXRBi" title="Balance, Beginning" style="text-align: right">(<ix:nonFraction name="FSI:EquityMethodInvestmentReturnOfEquity" contextRef="From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember" id="Fact000871" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">8,750</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_znuTNDUIpPU8" title="Balance, Beginning" style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" contextRef="From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember" id="Fact000873" format="ixt:numdotdecimal" decimals="0" unitRef="USD">27,646</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Investment eliminated upon consolidation</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_ecustom--InvestmentEliminatedUponConsolidation_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zKhC5ymXWRr8" title="Balance, Beginning" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="FSI:InvestmentEliminatedUponConsolidation" contextRef="From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember" id="Fact000875" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">41,538</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Balance, December 31, 2023 and March 31, 2024</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span id="xdx_90E_eus-gaap--EquityMethodInvestments_iE_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zYFartQrOd2d" title="Ending, balance"><span id="xdx_90F_eus-gaap--EquityMethodInvestments_iE_c20240101__20240331__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zeibChWP65U7" title="Ending, balance"><span style="-sec-ix-hidden: xdx2ixbrl0877"><span style="-sec-ix-hidden: xdx2ixbrl0879">-</span></span></span></span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">b<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In December 2018, the Company invested $<span id="xdx_906_eus-gaap--Investments_iI_c20181231__dei--LegalEntityAxis__custom--AppliedHoldingCorpMember_zYClsbB3t6se" title="Investment"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2018-12-31_custom_AppliedHoldingCorpMember" id="Fact000881" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</ix:nonFraction></span>
in Applied Holding Corp. (&#8220;Applied&#8221;). Applied is a captive insurance company and the Company received a non-convertible promissory
note for its investment which becomes due in 2021 but may be extended with notice for a maximum of two years. During the year ended December
31, 2021, the Company entered an agreement with Applied to extend the maturity date of this promissory note to <span id="xdx_908_ecustom--DebtInstrumentMaturityMonthYear_c20210101__20211231_zg9Pjcwkhvvd" title="Debt maturity"><ix:nonNumeric contextRef="From2021-01-012021-12-31" format="ixt:datemonthyearen" id="Fact000883" name="FSI:DebtInstrumentMaturityMonthYear">December 2023</ix:nonNumeric></span>. In October
2023, the Company received the payment of $<span id="xdx_906_eus-gaap--Investments_iI_c20231031_zb5kPMmhbWM7" title="Investment"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2023-10-31" id="Fact000885" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</ix:nonFraction></span> to settle the promissory note and the balance of this investment at March 31, 2024
is $<span id="xdx_90B_eus-gaap--Investments_iI_dxL_c20240331_zA34baobBQP8" title="Investment::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl0887">nil</span></span> (December 31, 2023 - $<span id="xdx_90B_eus-gaap--Investments_iI_dxL_c20231231_zXBpzQvGtRj1" title="Investment::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl0889">nil</span></span>). In accordance with FASB Codification Topic 321, <i>Investments &#8211; Equity Securities (</i>ASC
321), the Company has elected to account for this investment at cost.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif">(</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>c<span style="font-variant: small-caps">)
</span></b>In December 2018, the Company invested $<span id="xdx_903_eus-gaap--Investments_iI_c20181231__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zCiMBGf4Itxl" title="Investment"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2018-12-31_custom_TrioOpportunityCorpMember" id="Fact000891" format="ixt:numdotdecimal" decimals="0" unitRef="USD">500,000</ix:nonFraction></span> in Trio Opportunity Corp. (&#8220;Trio&#8221;), a privately held entity and
a further $<span id="xdx_908_eus-gaap--Investments_iI_c20230430__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zDimit4j53s2" title="Investment"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2023-04-30_custom_TrioOpportunityCorpMember" id="Fact000893" format="ixt:numdotdecimal" decimals="0" unitRef="USD">470,000</ix:nonFraction></span> was invested in April 2023. Trio is a real estate investment vehicle and the Company received <span id="xdx_90B_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20181201__20181231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zLWRmGj58Qv1" title="Common stock issued, shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2018-12-012018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember" id="Fact000895" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">97,000</ix:nonFraction></span> non-voting Class
B shares at $<span id="xdx_903_eus-gaap--SharePrice_iI_pid_c20181231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zLvWTPgQr3cj" title="Share price"><ix:nonFraction name="us-gaap:SharePrice" contextRef="AsOf2018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember" id="Fact000897" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">10.00</ix:nonFraction></span>/share. In accordance with ASC 321, the Company has elected to account for this investment at cost.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(d)
</b>In January 2019, the Company invested in a Florida based LLC that is engaged in international sales of fertilizer additives. The
Company accounts for this investment using the equity method of accounting. According to the operating agreement, the Company has a <span id="xdx_906_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20190131__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zVw0AwPcLdUa" title="Ownership percentage"><ix:nonFraction name="us-gaap:EquityMethodInvestmentOwnershipPercentage" contextRef="AsOf2019-01-31_custom_FloridaBasedLLCMember" id="Fact000899" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>%
interest in the profit and loss of the Florida based LLC but does not have control. <span style="background-color: white">A summary of
the Company&#8217;s investment follows:</span></span></p>

<ix:nonNumeric contextRef="From2024-01-012024-03-31_custom_FloridaBasedLLCMember" escape="true" id="Fact000901" name="us-gaap:EquityMethodInvestmentsTextBlock"><p id="xdx_89F_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zjJDzXoVxSzb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BE_zWnWOFTcVoVh" style="display: none">SCHEDULE OF EQUITY METHOD INVESTMENT</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zgrEJA0sfFEc" title="Balance, Beginning" style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2022-12-31_custom_FloridaBasedLLCMember" id="Fact000903" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,758,895</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zzDMnG07uNul" title="Gain in equity method investment" style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" contextRef="From2023-01-012023-12-31_custom_FloridaBasedLLCMember" id="Fact000905" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">505,065</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Return of equity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zg6CrKcPBmj8" title="Return of equity" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="FSI:EquityMethodInvestmentReturnOfEquity" contextRef="From2023-01-012023-12-31_custom_FloridaBasedLLCMember" id="Fact000907" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">200,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zNMuAMurqGR4" title="Balance, Beginning" style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2023-12-31_custom_FloridaBasedLLCMember" id="Fact000909" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,063,960</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zsYyQ5aeEJU4" title="Gain in equity method investment" style="text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" contextRef="From2024-01-012024-03-31_custom_FloridaBasedLLCMember" id="Fact000911" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">182,201</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Return of equity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zz2mMIBKBv91" title="Return of equity" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="FSI:EquityMethodInvestmentReturnOfEquity" contextRef="From2024-01-012024-03-31_custom_FloridaBasedLLCMember" id="Fact000913" format="ixt:numdotdecimal" decimals="0" scale="0" sign="-" unitRef="USD">327,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance, March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_984_eus-gaap--EquityMethodInvestments_iE_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zfQxHoRTy7Ji" title="Balance, Ending" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:EquityMethodInvestments" contextRef="AsOf2024-03-31_custom_FloridaBasedLLCMember" id="Fact000915" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,919,161</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<ix:nonNumeric contextRef="From2024-01-012024-03-31_custom_FloridaBasedLLCMember" escape="true" id="Fact000917" name="us-gaap:GainLossOnInvestmentsTextBlock"><p id="xdx_890_eus-gaap--GainLossOnInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zhyhPTmR8G6a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Summarized
profit and loss information related to the equity accounted investment is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BC_z30TsSXlgd0i" style="display: none">SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20240101__20240331_zMbJmA61lIf" style="border-bottom: Black 1.5pt solid; text-align: center">Three months <br/> ended <br/> March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_497_20230101__20230331_zw3kA14MAccc" style="border-bottom: Black 1.5pt solid; text-align: center">Three months <br/> ended <br/> March 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--GainsLossesOnSalesOfInvestmentRealEstate_zYrQmVeDJJWf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Net sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:GainsLossesOnSalesOfInvestmentRealEstate" contextRef="From2024-01-01to2024-03-31" id="Fact000919" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,319,582</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:GainsLossesOnSalesOfInvestmentRealEstate" contextRef="From2023-01-012023-03-31" id="Fact000920" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,447,125</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--RealizedInvestmentGainsLosses_zIr740Rj5sXa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RealizedInvestmentGainsLosses" contextRef="From2024-01-01to2024-03-31" id="Fact000922" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,014,988</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:RealizedInvestmentGainsLosses" contextRef="From2023-01-012023-03-31" id="Fact000923" format="ixt:numdotdecimal" decimals="0" unitRef="USD">965,052</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--RealizedInvestmentGainsLossesNet_zMkgRwI1eZ2h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="FSI:RealizedInvestmentGainsLossesNet" contextRef="From2024-01-01to2024-03-31" id="Fact000925" format="ixt:numdotdecimal" decimals="0" unitRef="USD">364,403</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="FSI:RealizedInvestmentGainsLossesNet" contextRef="From2023-01-012023-03-31" id="Fact000926" format="ixt:numdotdecimal" decimals="0" unitRef="USD">139,990</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the three months ended March 31, 2024, the Company had sales of $<span id="xdx_907_eus-gaap--Revenues_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zGti3i4RG2ha" title="Sales"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-01-012024-03-31_custom_FloridaBasedLLCMember" id="Fact000928" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,299,938</ix:nonFraction></span> (2023 - $<span id="xdx_90C_eus-gaap--Revenues_c20230101__20230331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zTFVvprWVB9j" title="Sales"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-01-012023-03-31_custom_FloridaBasedLLCMember" id="Fact000930" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,778,897</ix:nonFraction></span>) to the Florida Based LLC, of which $<span id="xdx_907_eus-gaap--AccountsReceivableNet_iI_c20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z4caaoK398J1" title="Accounts receivable related parties"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-03-31_custom_FloridaBasedLLCMember" id="Fact000932" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,723,833</ix:nonFraction></span>
is included within Accounts Receivable as at March 31, 2024 (December 31, 2023 - $<span id="xdx_90E_eus-gaap--AccountsReceivableNet_iI_c20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zPH0JxN6PRn9" title="Accounts receivable related parties"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31_custom_FloridaBasedLLCMember" id="Fact000934" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,073,813</ix:nonFraction></span>).</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(e)
</b>In December 2020, the Company invested $<span id="xdx_906_eus-gaap--PaymentsToAcquireInvestments_pp0p0_c20201201__20201231__dei--LegalEntityAxis__custom--LygosIncMember_zRUtpUWD9qo6"><ix:nonFraction name="us-gaap:PaymentsToAcquireInvestments" contextRef="From2020-12-012020-12-31_custom_LygosIncMember" id="Fact000935" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">500,000</ix:nonFraction></span> in Lygos Inc. (&#8220;Lygos&#8221;), a privately held entity, under a Simple Agreement
for Future Equity (&#8220;SAFE&#8221;) agreement. Lygos is a company developing a sustainable aspartic acid microbe strain. In 2021,
the Company made a second SAFE investment of $<span id="xdx_903_eus-gaap--PaymentsToAcquireInvestments_c20210101__20211231__dei--LegalEntityAxis__custom--LygosIncMember_zXfkYgafcq04"><ix:nonFraction name="us-gaap:PaymentsToAcquireInvestments" contextRef="From2021-01-012021-12-31_custom_LygosIncMember" id="Fact000936" format="ixt:numdotdecimal" decimals="0" unitRef="USD">500,000</ix:nonFraction></span> for a total of $<span id="xdx_90D_eus-gaap--Investments_iI_c20211231__dei--LegalEntityAxis__custom--LygosIncMember_z9pi3l09LrJ7" title="Investment"><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2021-12-31_custom_LygosIncMember" id="Fact000938" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,000,000</ix:nonFraction></span>. In accordance with ASC 321, the Company has elected
to account for this investment at cost.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000940" name="us-gaap:ShortTermDebtTextBlock"><p id="xdx_802_eus-gaap--ShortTermDebtTextBlock_zzgXEZP3Cm1f" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>10.
<span id="xdx_824_zduMLCTbVz99">SHORT-TERM LINE OF CREDIT</span> </b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In June 2023, ENP Investments renewed the
line of credit with Stock Yards Bank and Trust (&#8220;Stock Yards&#8221;), increasing the limit by $<span id="xdx_90C_eus-gaap--LineOfCreditFacilityCurrentBorrowingCapacity_iI_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zgnJP6AkKRg8"><ix:nonFraction name="us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity" contextRef="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact000941" format="ixt:numdotdecimal" decimals="0" unitRef="USD">500,000</ix:nonFraction></span> from the previous line of
credit. The revolving line of credit is for an aggregate amount of up to the lesser of (i) $<span id="xdx_903_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zmJdsvCBU9Xk"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact000942" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,500,000</ix:nonFraction></span>, or (ii) 50-80% of eligible domestic
accounts receivable plus <span id="xdx_90A_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zgRewOqM0SAl"><ix:nonFraction name="FSI:PercentageOfForeignAccountsReceivableOfInventory" contextRef="From2023-06-012023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact000943" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>% of inventory, capped at $<span id="xdx_907_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zmYEsK8PKvU5"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact000944" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,000,000</ix:nonFraction></span>. Interest on the unpaid principal balance of this loan will be calculated
using the greater of prime or 8.25%. The interest rate at March 31, 2024 is <span id="xdx_90D_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zlQnDFFPD1cf"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-03-31_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact000945" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.5</ix:nonFraction></span>% (December 31, 2023 - <span id="xdx_906_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zx3fRnqVpL93"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2023-12-31_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact000946" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.5</ix:nonFraction></span>%).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provisions
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yard&#8217;s access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. NanoChem is a guarantor of <span id="xdx_900_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20240331__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zbYSHOU7GMyi" title="Loan guaranteed rate"><ix:nonFraction name="FSI:LoanGuaranteedRate" contextRef="AsOf2024-03-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember" id="Fact000948" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>% of all the principal and other loan costs not to exceed $<span id="xdx_90C_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20240331__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zyDa42pURjCf" title="Line of credit"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="AsOf2024-03-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember" id="Fact000950" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,925,000</ix:nonFraction></span>.
The non-controlling interest is the guarantor of the remaining <span id="xdx_909_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--NoncontrollingInterestMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zZqrxxPsqFZ6" title="Loan guaranteed rate"><ix:nonFraction name="FSI:LoanGuaranteedRate" contextRef="AsOf2024-03-31_us-gaap_NoncontrollingInterestMember_custom_StockYardAndBankMember" id="Fact000952" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">35</ix:nonFraction></span>% of all the principal and other loan costs not to exceed $<span id="xdx_905_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--NoncontrollingInterestMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zcETT7JEgfRf" title="Line of credit"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" contextRef="AsOf2024-03-31_us-gaap_NoncontrollingInterestMember_custom_StockYardAndBankMember" id="Fact000954" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,575,000</ix:nonFraction></span>.
As of March 31, 2024, ENP Investments was in compliance with all loan covenants.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
secure the repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest
in substantially all of the assets of ENP Investments, exclusive of intellectual property assets.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Short-term
borrowings outstanding under the revolving line as of March 31, 2024 were $<span id="xdx_908_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20240331__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zetMpjnH6Tig" title="Short term borrowings"><ix:nonFraction name="us-gaap:ShortTermBorrowings" contextRef="AsOf2024-03-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember" id="Fact000956" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,259,935</ix:nonFraction></span> (December 31, 2023 - $<span id="xdx_90E_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zKRcrxA1IRJb" title="Short term borrowings"><ix:nonFraction name="us-gaap:ShortTermBorrowings" contextRef="AsOf2023-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember" id="Fact000958" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,810,479</ix:nonFraction></span>).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(b)
</b>In June 2023, the Company renewed the line of credit with Stock Yards Bank and Trust (&#8220;Stock Yards&#8221;). The revolving line
of credit is for an aggregate amount of up to the lesser of (i) $<span id="xdx_901_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zqHGVk4Tkf4f" title="Aggregate amount of revolving line of credit"><ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact000960" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,000,000</ix:nonFraction></span>, or (ii) <span id="xdx_906_ecustom--EligiblePercentageOfDomesticAccountsReceivable_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zWnCHR775oJ8" title="Eligible percentage of domestic accounts receivable"><ix:nonFraction name="FSI:EligiblePercentageOfDomesticAccountsReceivable" contextRef="From2023-06-012023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact000962" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">80</ix:nonFraction></span>% of eligible domestic accounts receivable and
certain foreign accounts receivable plus <span id="xdx_90D_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z2M5EM0kXRc9" title="Percentage of foreign accounts receivable of inventory"><ix:nonFraction name="FSI:PercentageOfForeignAccountsReceivableOfInventory" contextRef="From2023-06-012023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact000964" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">50</ix:nonFraction></span>% of inventory, capped at $<span id="xdx_908_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zQ96dAkneone" title="Debt face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact000966" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,000,000</ix:nonFraction></span>. Interest on the unpaid principal balance of this loan
will be calculated using the greater of prime or 8.25%. The interest rate at March 31, 2024 is <span id="xdx_901_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20240331__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z4Mq1RfjoJtl" title="Interest rate"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2024-03-31_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact000968" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.5</ix:nonFraction></span>% (December 31, 2023 - <span id="xdx_90E_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zopnpTzdzO6a" title="Interest rate"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2023-12-31_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember" id="Fact000970" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">8.5</ix:nonFraction></span>%).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provision
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yards access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. The covenants also require that the Company maintain a minimum ratio of qualifying financial
assets to the sum of qualifying financial obligations. As of March 31, 2024, the Company was in compliance with all loan covenants.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
secure repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest in substantially
all of the assets of NanoChem, exclusive of intellectual property assets.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Short-term
borrowings outstanding under the revolving line as of March 31, 2024 were $<span id="xdx_908_eus-gaap--ShortTermBorrowings_iI_dxL_c20240331__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zVVFTsvPdqbk" title="Short term borrowings::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl0972">nil</span></span> (December 31, 2023 were $<span id="xdx_90C_eus-gaap--ShortTermBorrowings_iI_dxL_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zWmaKwZqfzRd" title="Short term borrowings::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl0974">nil</span></span>).</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact000976" name="us-gaap:LongTermDebtTextBlock"><p id="xdx_801_eus-gaap--LongTermDebtTextBlock_zB0uAef4488h" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>11.
<span id="xdx_829_zcMrA9Thx0O">LONG TERM DEBT</span> </b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(a)
</b>In January 2020, ENP Mendota refinanced its mortgage and signed a loan for $<span id="xdx_90D_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zqHHTKKWLUVg"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" id="Fact000977" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">450,000</ix:nonFraction></span> with Stock Yards to be repaid over <span id="xdx_903_eus-gaap--DebtInstrumentTerm_dtY_c20200101__20200131__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_z4SVLGeqzOMj"><ix:nonNumeric contextRef="From2020-01-012020-01-31_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember" format="ixt-sec:duryear" id="Fact000978" name="us-gaap:DebtInstrumentTerm">10</ix:nonNumeric></span> years with
monthly installments plus interest. Interest for the first five years is at <span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_zejznE5I95el"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2020-01-31_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember" id="Fact000979" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.35</ix:nonFraction></span>% and it will be adjusted for the last five years to
the Cincinnati Federal Home Bank Loan <span id="xdx_90B_eus-gaap--DebtInstrumentTerm_dtY_c20200101__20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zajnCyUEGFwf"><ix:nonNumeric contextRef="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" format="ixt-sec:duryear" id="Fact000980" name="us-gaap:DebtInstrumentTerm">5</ix:nonNumeric></span> year fixed index plus <span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zV2TBgl3r7k"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" id="Fact000981" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.5</ix:nonFraction></span>%. Interest expense for the three months ended March 31, 2024 was $<span id="xdx_905_eus-gaap--InterestExpenseDebt_pp0p0_c20240101__20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_z4ll8TmTCQ0l" title="Interest expense debt"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2024-01-012024-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" id="Fact000983" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,373</ix:nonFraction></span>
(2023 - $<span id="xdx_90A_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zPTfrYGiHDGl" title="Interest expense debt"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2023-01-012023-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" id="Fact000985" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">4,501</ix:nonFraction></span>). The balance owing at March 31, 2024 was $<span id="xdx_902_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_z8bNb2iQUu5"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2024-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" id="Fact000986" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">396,371</ix:nonFraction></span> (December 31, 2023 - $<span id="xdx_90F_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zfwoVTdv5MM5"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember" id="Fact000987" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">399,269</ix:nonFraction></span>).</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.4in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
secure repayment of any amounts borrowed under the mortgage, the Company granted Stock Yards a security interest in real property under
the mortgage and all rents on said property.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(b)
</b>In June 2022, NanoChem signed a loan for $<span id="xdx_904_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zSNqGVXCDrn5" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember" id="Fact000989" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,935,000</ix:nonFraction></span> with Stock Yards with an interest rate of<span id="xdx_90E_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zPlf20WxzWi8" title="Debt instrument interest rate stated percentage"> <ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember" id="Fact000991" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.90</ix:nonFraction></span>% to be repaid over <span id="xdx_901_eus-gaap--DebtInstrumentTerm_c20220601__20220630__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_z12XB2BR6ptb"><ix:nonNumeric contextRef="From2022-06-012022-06-30_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember" format="ixt-sec:durwordsen" id="Fact000992" name="us-gaap:DebtInstrumentTerm">three years</ix:nonNumeric></span>
with equal monthly payments including interest. The funds were used to replace the loans at Midland for the purchase of the <span id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zBp1AgiPAClk" title="Debt instrument interest rate stated percentage"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember" id="Fact000994" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>% interest
in ENP Investments and the new manufacturing equipment. Interest expense for the three months ended March 31, 2024 was $<span id="xdx_90B_eus-gaap--InterestExpenseDebt_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zAyUisVq7Ux8"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2024-01-012024-03-31_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember" id="Fact000995" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">11,801</ix:nonFraction></span> (2023
- $<span id="xdx_90B_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230331__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zdHFjtLZidHa"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2023-01-012023-03-31_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember" id="Fact000996" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">19,409</ix:nonFraction></span>). The balance owing at March 31, 2024 was $<span id="xdx_903_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zFP5nO9PVlL1" title="Debt Long term debt amount"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2024-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember" id="Fact000998" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">842,828</ix:nonFraction></span> (December 31, 2023 - $<span id="xdx_902_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zckraeekMEGe" title="Debt Long term debt amount"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember" id="Fact001000" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,004,748</ix:nonFraction></span>).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(c)
</b>In January 2020 ENP Peru signed a $<span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zfCEMzKHFXLl" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" id="Fact001002" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,000,000</ix:nonFraction></span> loan with an interest rate <span id="xdx_904_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_ztJhSrPuyIF1" title="Debt instrument interest rate stated percentage"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" id="Fact001004" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.35</ix:nonFraction></span>% to be repaid over <span id="xdx_90A_eus-gaap--DebtInstrumentTerm_c20200101__20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zsdUZQEj1lf2"><ix:nonNumeric contextRef="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" format="ixt-sec:durwordsen" id="Fact001005" name="us-gaap:DebtInstrumentTerm">ten years</ix:nonNumeric></span> with equal monthly payments
including interest. Upon the purchase of the remainder of ENP Peru in June 2022, the Company assumed the first mortgage at Stock Yards
with a balance of $<span id="xdx_901_eus-gaap--LoansPayable_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zwrxvzapWXS4" title="First mortgage"><ix:nonFraction name="us-gaap:LoansPayable" contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" id="Fact001007" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,849,500</ix:nonFraction></span>. Interest expense for the three months ended March 31, 2024 was $<span id="xdx_90F_eus-gaap--InterestExpense_pp0p0_c20240101__20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zRnuJ0HuMJCj" title="Interest expense"><ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2024-01-012024-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" id="Fact001009" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">30,003</ix:nonFraction></span> (2023 - $<span id="xdx_90C_eus-gaap--InterestExpense_pp0p0_c20230101__20230331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zusO4ljsVE8e" title="Interest expense"><ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2023-01-012023-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" id="Fact001011" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">30,530</ix:nonFraction></span>). The balance owing
at March 31, 2024 was $<span id="xdx_906_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zZ9o0aGt4zZ3" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2024-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" id="Fact001013" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,717,683</ix:nonFraction></span> (December 31, 2023 - $<span id="xdx_90B_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zVnEJr557XCc" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember" id="Fact001015" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,737,232</ix:nonFraction></span>).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(d)
</b>In June 2022, ENP Peru obtained a second mortgage for $<span id="xdx_90C_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zaVOb6TVz5gd" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember" id="Fact001017" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">259,000</ix:nonFraction></span> with Stock Yards to be repaid over <span id="xdx_904_eus-gaap--DebtInstrumentTerm_dtY_c20220601__20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zPoiulLiA8t7" title="Debt instrument term"><ix:nonNumeric contextRef="From2022-06-012022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember" format="ixt-sec:duryear" id="Fact001019" name="us-gaap:DebtInstrumentTerm">10</ix:nonNumeric></span> years with monthly installments
plus interest with an interest rate of <span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zyb4Dw5kCvpf" title="Debt instrument interest rate stated percentage"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_ENPPeruInvestmentsMember" id="Fact001021" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">5.4</ix:nonFraction></span>%. Interest expense for the three months ended March 31, 2024 was $<span id="xdx_90E_eus-gaap--InterestExpenseDebt_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zIXx3rm36Y84" title="Interest expense debt"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2024-01-012024-03-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember" id="Fact001023" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,409</ix:nonFraction></span> (2023 - $<span id="xdx_90A_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230331__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zd64tq4eVeOg" title="Interest expense debt"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2023-01-012023-03-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember" id="Fact001025" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,452</ix:nonFraction></span>). The
balance owing at March 31, 2024 was $<span id="xdx_90B_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20240331__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zwEFjT3dAo84" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2024-03-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember" id="Fact001027" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">248,658</ix:nonFraction></span> (December 31, 2023 - $<span id="xdx_90E_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20231231__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zvjg9h5zCX14" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2023-12-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember" id="Fact001029" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">250,207</ix:nonFraction></span>).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(e)
</b>In December 2022, NanoChem signed a three year loan for up to $<span id="xdx_90B_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zaUo67D94lG1" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_NanoChemMember" id="Fact001031" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,000,000</ix:nonFraction></span> with Stock Yards with an interest rate of <span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zAXbLVdeaVdc" title="Debt instrument interest rate stated percentage"><ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_NanoChemMember" id="Fact001033" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">6.5</ix:nonFraction></span>%. Interest
only payments are required for the first 18 months with interest and principal being paid in the last 18 months. The funds are being
used to purchase new manufacturing equipment. Interest expense for the three months ended March 31, 2024 was $<span id="xdx_90E_eus-gaap--InterestExpenseDebt_pp0p0_c20240101__20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zBovbHyQmMO7" title="Interest expense debt"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2024-01-012024-03-31_custom_TermLoanMember_custom_NanoChemMember" id="Fact001035" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">23,525</ix:nonFraction></span> (2022 - $<span id="xdx_90E_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zwPY80uzMKT6" title="Interest expense debt"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2023-01-012023-03-31_custom_TermLoanMember_custom_NanoChemMember" id="Fact001037" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">15,917</ix:nonFraction></span>).
The balance owing at March 31, 2024 was $<span id="xdx_907_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zDtaX79d7M9k" title="Debt Long term debt amount"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2024-03-31_custom_TermLoanMember_custom_NanoChemMember" id="Fact001039" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,533,004</ix:nonFraction></span> (December 31, 2023 - $<span id="xdx_908_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zR6fZkUXVUHd" title="Debt Long term debt amount"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_NanoChemMember" id="Fact001041" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">1,475,188</ix:nonFraction></span>).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(f)
</b>In June 2023, 317 Mendota signed a five year loan for up to $<span id="xdx_907_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zNQDDllmHHR5" title="Debt instrument face amount"><ix:nonFraction name="us-gaap:DebtInstrumentFaceAmount" contextRef="AsOf2023-06-30_custom_TermLoanMember_custom_MendotaMember" id="Fact001043" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">3,240,000</ix:nonFraction></span> with Stock Yards to purchase a building and any necessary
renovations. Interest only payments are required for the first 12 months with interest and principal being paid the remaining four years
and a lump sum due in June 2028. Interest expense for the three months ended March 31, 2024 was $<span id="xdx_906_eus-gaap--InterestExpenseDebt_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--MendotaMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zTpEMF3Gx7O5" title="Interest expense debt"><ix:nonFraction name="us-gaap:InterestExpenseDebt" contextRef="From2024-01-012024-03-31_custom_MendotaMember_custom_TermLoanMember" id="Fact001045" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">46,886</ix:nonFraction></span> (2023 - $<span id="xdx_90A_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20230101__20230331__dei--LegalEntityAxis__custom--MendotaMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zs0csiEgNhK8" title="Interest expense debt::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1047">nil</span></span>). The balance owing
at March 31, 2024 was $<span id="xdx_90A_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zo9NCH2llbLb" title="Debt Long term debt amount"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2024-03-31_custom_TermLoanMember_custom_MendotaMember" id="Fact001049" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,248,292</ix:nonFraction></span> (December 31, 2023 - $<span id="xdx_901_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zo2H5WXxe93b" title="Debt Long term debt amount"><ix:nonFraction name="us-gaap:DebtDefaultLongtermDebtAmount" contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_MendotaMember" id="Fact001051" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">2,248,292</ix:nonFraction></span>).</span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001053" name="FSI:ScheduleOfLoanCovenantsTableTextBlock"><p id="xdx_89B_ecustom--ScheduleOfLoanCovenantsTableTextBlock_zctQHSpVvtJg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of March 31, 2024, Company was in compliance with all loan covenants.&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BA_zUAR8iZADcfg" style="display: none">SCHEDULE OF LOAN COVENANTS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; text-align: left; font-weight: bold; vertical-align: bottom">Continuity</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49D_20240101__20240331_zuvSIOgZZKqc" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49D_20230101__20231231_z8EO1z0rNh5i" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">December 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebt_iS_zNXYxEIrIj02" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%">Balance, January 1</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31" id="Fact001055" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,114,936</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2022-12-31" id="Fact001056" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,154,077</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LongTermDebt_iS_zdqLEef9LpU6" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Balance, beginning of period</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31" id="Fact001058" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,114,936</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2022-12-31" id="Fact001059" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,154,077</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_405_eus-gaap--ProceedsFromBankDebt_z0JaLlKrZhfe" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Plus: Proceeds from loans</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromBankDebt" contextRef="From2024-01-01to2024-03-31" id="Fact001061" format="ixt:numdotdecimal" decimals="0" unitRef="USD">57,816</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:ProceedsFromBankDebt" contextRef="From2023-01-012023-12-31" id="Fact001062" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,686,682</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--PaymentsForProceedsFromDepositOnLoan_iN_di_zsZ1MqOd0r6h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: Payments on loan</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsForProceedsFromDepositOnLoan" contextRef="From2024-01-01to2024-03-31" id="Fact001064" format="ixt:numdotdecimal" decimals="0" unitRef="USD">185,916</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsForProceedsFromDepositOnLoan" contextRef="From2023-01-012023-12-31" id="Fact001065" format="ixt:numdotdecimal" decimals="0" unitRef="USD">725,823</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--LongTermDebt_iE_zEOdrvquHLP9" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Balance, end of period</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2024-03-31" id="Fact001067" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,986,836</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31" id="Fact001068" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,114,936</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001070" name="us-gaap:ScheduleOfDebtInstrumentsTextBlock"><p id="xdx_895_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_zHq2OSm8TR99" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BA_zpmGuloqtTz8" style="display: none">SCHEDULE
OF OUTSTANDING BALANCE LOAN</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; text-align: left; font-weight: bold; vertical-align: bottom">Outstanding balance</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_495_20240331_z8A36R3eeH56" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_495_20231231_zYDcAy9kNwo5" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">December 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember_zAODdPJxaeNl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%; text-align: left">a) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2024-03-31_custom_StockYardsBankTrustMember" id="Fact001072" format="ixt:numdotdecimal" decimals="0" unitRef="USD">396,371</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_StockYardsBankTrustMember" id="Fact001073" format="ixt:numdotdecimal" decimals="0" unitRef="USD">399,269</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustOneMember_zskNnlR1yKPa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">b) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2024-03-31_custom_StockYardsBankTrustOneMember" id="Fact001075" format="ixt:numdotdecimal" decimals="0" unitRef="USD">842,828</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_StockYardsBankTrustOneMember" id="Fact001076" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,004,748</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustTwoMember_ze89XPgI9e8b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">c) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2024-03-31_custom_StockYardsBankTrustTwoMember" id="Fact001078" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,717,683</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_StockYardsBankTrustTwoMember" id="Fact001079" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,737,232</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustThreeMember_zZ0mDuwqgoP8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">d) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2024-03-31_custom_StockYardsBankTrustThreeMember" id="Fact001081" format="ixt:numdotdecimal" decimals="0" unitRef="USD">248,658</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_StockYardsBankTrustThreeMember" id="Fact001082" format="ixt:numdotdecimal" decimals="0" unitRef="USD">250,207</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFourMember_z8T9U2fsjLLi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">e) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2024-03-31_custom_StockYardsBankTrustFourMember" id="Fact001084" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,533,004</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_StockYardsBankTrustFourMember" id="Fact001085" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,475,188</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFiveMember_zvyexy9NES97" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">f) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2024-03-31_custom_StockYardsBankTrustFiveMember" id="Fact001087" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,248,292</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31_custom_StockYardsBankTrustFiveMember" id="Fact001088" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,248,292</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LongTermDebt_iI_zwuME8OzTate" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Long-term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2024-03-31" id="Fact001090" format="ixt:numdotdecimal" decimals="0" unitRef="USD">7,986,836</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="AsOf2023-12-31" id="Fact001091" format="ixt:numdotdecimal" decimals="0" unitRef="USD">8,114,936</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LongTermDebtCurrent_iNI_di_znUU2mJDF2yl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: current portion</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:LongTermDebtCurrent" contextRef="AsOf2024-03-31" id="Fact001093" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,665,440</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:LongTermDebtCurrent" contextRef="AsOf2023-12-31" id="Fact001094" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,281,632</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebtNoncurrent_iI_zoVkVnZ9G1Mb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Long-term debt non current</span></td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtNoncurrent" contextRef="AsOf2024-03-31" id="Fact001096" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,321,396</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><ix:nonFraction name="us-gaap:LongTermDebtNoncurrent" contextRef="AsOf2023-12-31" id="Fact001097" format="ixt:numdotdecimal" decimals="0" unitRef="USD">6,833,304</ix:nonFraction></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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


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

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001099" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"><p id="xdx_80D_eus-gaap--DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_zkkazxtJYvt3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>12.<span id="xdx_826_zkZxwCc77ckl">
STOCK OPTIONS</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has a stock option plan (&#8220;Plan&#8221;). The purpose of this Plan is to provide additional incentives to key employees,
officers, directors and consultants of the Company and its subsidiaries in order to help attract and retain the best available personnel
for positions of responsibility and otherwise promote the success of the Company&#8217;s business. It is intended that options issued
under this Plan constitute non-qualified stock options. The general terms of awards under the option plan are that <span id="xdx_906_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_pid_dp_uPure_c20240101__20240331_z4cpIRABcBt7" title="Options granted percentage"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" contextRef="From2024-01-01to2024-03-31" id="Fact001101" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">100</ix:nonFraction></span>% of the options
granted will vest the year following the grant unless a executive employee is granted a multi-year stock option grant where an equal
amount vests over the next <span id="xdx_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20240101__20240331_zYNG2q5ld1Ka" title="Vested term"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt-sec:duryear" id="Fact001103" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">5</ix:nonNumeric></span> years. The maximum term of options granted is <span id="xdx_901_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20240101__20240331_zvWcFbs9wKak" title="Options maximum granted term"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt-sec:duryear" id="Fact001105" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">5</ix:nonNumeric></span> years and the exercise price for all options are issued
for not less than fair market value at the date of the grant.</span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001107" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"><p id="xdx_895_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zMvM4uZk7tyk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the Company&#8217;s stock option activities for the year ended December 31, 2023 and the three-month period
ended March 31, 2024:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span><span id="xdx_8B7_zQYh6YqjJC1d" style="display: none">SCHEDULE OF STOCK OPTION ACTIVITIES</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Number of shares</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Exercise price</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">per share</p></td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Weighted average</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">exercise price</p></td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%">Balance, December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20230101__20231231_zRO2EvRj112d" title="Number of shares, Beginning Balance" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2022-12-31" id="Fact001109" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,686,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zXCHqPiZOGQ" title="Exercise price per share, Beginning Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2022-12-31_srt_MinimumMember" id="Fact001111" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.70</ix:nonFraction></span> &#8211; <span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zqWTzGQoqJ6k" title="Exercise price per share, Beginning Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2022-12-31_srt_MaximumMember" id="Fact001113" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.13</ix:nonFraction></span></span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231_zWAKI7wnHI16" title="Weighted average exercise price, Beginning Balance" style="width: 14%; text-align: right">&#160;&#160;&#160;&#160;<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2022-12-31" id="Fact001115" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.26</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20230101__20231231_z9T7ti2AEhXk" title="Number of shares, Cancelled or expired" style="text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" contextRef="From2023-01-012023-12-31" id="Fact001117" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">564,000</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_901_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_z9kuYRpRLq8i" title="Exercise price per share, Cancelled"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" contextRef="From2023-01-012023-12-31_srt_MinimumMember" id="Fact001119" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.46</ix:nonFraction></span> &#8211; <span id="xdx_90A_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zsj3WxPGJCI6" title="Exercise price per share, Cancelled"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" contextRef="From2023-01-012023-12-31_srt_MaximumMember" id="Fact001121" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">4.13</ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231_zCXvtCAWBVD4" title="Weighted average exercise price, Cancelled or expired" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-012023-12-31" id="Fact001123" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.55</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20230101__20231231_zcoNEah025tj" title="Number of shares, Exercised" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2023-01-012023-12-31" id="Fact001125" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">8,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_900_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20230101__20231231_znPHz2x0PVIg" title="Exercise price per share, Exercised"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" contextRef="From2023-01-012023-12-31" id="Fact001127" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.70</ix:nonFraction></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20230101__20231231_zqFXJZvdvti9" title="Weighted average exercise price, Exercised" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-012023-12-31" id="Fact001129" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.70</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20240101__20240331_zjR2lSIkKZp7" title="Number of shares, Beginning Balance" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2023-12-31" id="Fact001131" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,114,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zYk8Tkx4o8va" title="Exercise price per share, Beginning Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2023-12-31_srt_MinimumMember" id="Fact001133" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.75</ix:nonFraction></span> &#8211;<span id="xdx_90A_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zygHR4FcYYPh" title="Exercise price per share, Beginning Balance"> <ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2023-12-31_srt_MaximumMember" id="Fact001135" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.61</ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20240101__20240331_zTZA5TGiZGB7" title="Weighted average exercise price, Beginning Balance"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2023-12-31" id="Fact001137" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.13</ix:nonFraction></span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20240331_z24gLJACc8Dk" title="Number of shares, Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2024-01-01to2024-03-31" id="Fact001139" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">950,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20240101__20240331_zvfYlzmAxNJc" title="Exercise price per share, Granted"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" contextRef="From2024-01-01to2024-03-31" id="Fact001141" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.00</ix:nonFraction></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20240101__20240331_zE1WCWaNmeuf" title="Weighted average exercise price, Granted" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2024-01-01to2024-03-31" id="Fact001143" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.00</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20240101__20240331_z6zgjV2NDgb2" title="Number of shares, Cancelled or expired" style="text-align: right">(<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" contextRef="From2024-01-01to2024-03-31" id="Fact001145" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">103,000</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_904_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zLc7ZjxguLIa" title="Exercise price per share, Cancelled"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" contextRef="From2024-01-012024-03-31_srt_MinimumMember" id="Fact001147" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.75</ix:nonFraction></span> &#8211;<span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zmsMC8sZlNrb" title="Exercise price per share, Cancelled"> <ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" contextRef="From2024-01-012024-03-31_srt_MaximumMember" id="Fact001149" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.61</ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20240101__20240331_z5K8ttDHcPc6" title="Weighted average exercise price, Cancelled or expired" style="text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" contextRef="From2024-01-01to2024-03-31" id="Fact001151" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.06</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20240101__20240331_ziopQcBMwXia" title="Number of shares, Exercised" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2024-01-01to2024-03-31" id="Fact001153" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20240101__20240331_zm0Lrr8aewVg" title="Exercise price per share, Exercised"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" contextRef="From2024-01-01to2024-03-31" id="Fact001155" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.75</ix:nonFraction></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20240101__20240331_zmAZQd3zSP66" title="Weighted average exercise price, Exercised" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="From2024-01-01to2024-03-31" id="Fact001157" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">1.75</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balance, March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pid_c20240101__20240331_zqzBFBl1dbCg" title="Number of shares, Ending Balance" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2024-03-31" id="Fact001159" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,946,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zJcDShU8qd22" title="Exercise price per share, Ending Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2024-03-31_srt_MinimumMember" id="Fact001161" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.00</ix:nonFraction></span> &#8211;<span id="xdx_901_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zrcJk6OUNiZj" title="Exercise price per share, Ending Balance"> <ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" contextRef="AsOf2024-03-31_srt_MaximumMember" id="Fact001163" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.61</ix:nonFraction></span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20240101__20240331_zx4CdsSwQDE" title="Weighted average exercise price, Ending Balance"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2024-03-31" id="Fact001165" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.65</ix:nonFraction></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Exercisable, March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_pid_c20240101__20240331_zVrHK10EmC2d" title="Number of shares Exercisable, Ending Balance" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2024-03-31" id="Fact001167" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">814,000</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zU2xdzutyQ82" title="Exercise price per share Exercisable, Ending Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" contextRef="AsOf2024-03-31_srt_MinimumMember" id="Fact001169" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.00</ix:nonFraction></span> &#8211; <span id="xdx_904_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zG0yTZazPPf6" title="Exercise price per share Exercisable, Ending Balance"><ix:nonFraction name="FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" contextRef="AsOf2024-03-31_srt_MaximumMember" id="Fact001171" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">3.61</ix:nonFraction></span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20240101__20240331_zppk7wGSFWEi" title="Weighted average exercise price, Exercisable, Ending Balance" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2024-03-31" id="Fact001173" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">2.86</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
weighted-average remaining contractual life of outstanding options is <span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20240331_zkBxZby0b8m6" title="Weighted-average remaining contractual life"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt-sec:duryear" id="Fact001175" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">3.75</ix:nonNumeric></span> years.</span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001177" name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock"><p id="xdx_892_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zaNhqUc3IFed" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of each option grant is calculated using the following weighted average assumptions:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B3_zv5lfFd364Lf" style="display: none">SCHEDULE
OF STOCK OPTION FAIR VALUE ASSUMPTIONS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">Expected life &#8211; years</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><span id="xdx_905_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20240101__20240331_zUVxC27e0Phk" title="Expected life - years"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt-sec:duryear" id="Fact001179" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">3.0</ix:nonNumeric></span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Interest rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zfsra40ugjM4" title="Interest rate"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="From2024-01-012024-03-31_srt_MinimumMember" id="Fact001181" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">3.893</ix:nonFraction></span> &#8211; <span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zFs1Hc1tzik9" title="Interest rate"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="From2024-01-012024-03-31_srt_MaximumMember" id="Fact001183" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">4.22</ix:nonFraction></span></span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zfiGAlHTLXSe" title="Volatility"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="From2024-01-012024-03-31_srt_MinimumMember" id="Fact001185" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">59.72</ix:nonFraction></span> &#8211; <span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zbwDmvCTNFHi" title="Volatility"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="From2024-01-012024-03-31_srt_MaximumMember" id="Fact001187" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">60.35</ix:nonFraction></span></span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Weighted average fair value of options granted</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zkVQfm8QFdQ2" title="Weighted average fair value of options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2024-01-012024-03-31_srt_MinimumMember" id="Fact001189" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.71</ix:nonFraction></span> &#8211; <span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zvUHJTuNZnk1" title="Weighted average fair value of options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2024-01-012024-03-31_srt_MaximumMember" id="Fact001191" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.79</ix:nonFraction></span></span></td><td style="text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the three months ended March 31, 2024, the Company granted <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20240331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zOr2sTR37T2l" title="Stock options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2024-01-012024-03-31_custom_ConsultantsMember" id="Fact001193" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">56,000</ix:nonFraction></span> (2023 &#8211;<span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_dxL_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zt6G0N8vKzBd" title="Stock options granted::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1195"> nil</span></span>) stock options to consultants and has applied ASC
718 using the Black-Scholes option-pricing model, which resulted in expenses of $<span id="xdx_90E_eus-gaap--StockOptionPlanExpense_c20240101__20240331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zJmC71fHl8Kc" title="Stock option expense"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="From2024-01-012024-03-31_custom_ConsultantsMember" id="Fact001197" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,940</ix:nonFraction></span> (2023 - $<span id="xdx_900_eus-gaap--StockOptionPlanExpense_dxL_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zxafheLVtVma" title="Stock option expense::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1199">nil</span></span>). Options granted in other years
resulted in additional expenses of $<span id="xdx_908_ecustom--AdditionalExpensesDueToOptionsGranted_dxL_c20240101__20240331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zi8G3gGzgKn8" title="Additional expenses due to options granted::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1201">nil</span></span> (2023 &#8211; $<span id="xdx_900_ecustom--AdditionalExpensesDueToOptionsGranted_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zQFdDFrJCRw" title="Additional expenses due to options granted"><ix:nonFraction name="FSI:AdditionalExpensesDueToOptionsGranted" contextRef="From2023-01-012023-03-31_custom_ConsultantsMember" id="Fact001203" format="ixt:numdotdecimal" decimals="0" unitRef="USD">62,241</ix:nonFraction></span>). During the three months ended March 31, 2024, employees were granted
<span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20240331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zuYevHBx0xo7" title="Stock options granted"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2024-01-012024-03-31_custom_EmployeesMember" id="Fact001205" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">894,000</ix:nonFraction></span> (2023 &#8211; <span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_dxL_c20230101__20230331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zGvK25RZdOy3" title="Stock options granted::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1207">nil</span></span>) stock options, which resulted in expenses of $<span id="xdx_908_eus-gaap--StockOptionPlanExpense_c20240101__20240331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zUDOHCgL8rIh" title="Stock option expense"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="From2024-01-012024-03-31_custom_EmployeesMember" id="Fact001209" format="ixt:numdotdecimal" decimals="0" unitRef="USD">199,687</ix:nonFraction></span> (2023 &#8211; $<span id="xdx_90D_eus-gaap--StockOptionPlanExpense_dxL_c20230101__20230331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zUF7pQlysPZ3" title="Stock option expense::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1211">nil</span></span>). Options granted in other years
resulted in additional expenses in the amount of $<span id="xdx_909_ecustom--AdditionalExpensesDueToOptionsGranted_c20240101__20240331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zIFJ16obHnla" title="Additional expenses due to options granted"><ix:nonFraction name="FSI:AdditionalExpensesDueToOptionsGranted" contextRef="From2024-01-012024-03-31_custom_EmployeesMember" id="Fact001213" format="ixt:numdotdecimal" decimals="0" unitRef="USD">43,730</ix:nonFraction></span> for employees during the three months ended March 31, 2024 (2023 - $<span id="xdx_90F_ecustom--AdditionalExpensesDueToOptionsGranted_c20230101__20230331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zQRc6WT3oXrc" title="Additional expenses due to options granted"><ix:nonFraction name="FSI:AdditionalExpensesDueToOptionsGranted" contextRef="From2023-01-012023-03-31_custom_EmployeesMember" id="Fact001215" format="ixt:numdotdecimal" decimals="0" unitRef="USD">328,769</ix:nonFraction></span>).
There were <span id="xdx_901_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20240101__20240331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zvs30swkb6je" title="Stock options exercised"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2024-01-012024-03-31_custom_EmployeesMember" id="Fact001217" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,000</ix:nonFraction></span> employee and <span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_dxL_c20240101__20240331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zgUsrqbTCfta" title="Stock options exercised::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1219">nil</span></span> consultant stock options exercised during the three months ended March 31, 2024 (2023 &#8211; <span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20230101__20230331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zFFriKI2AkWe" title="Stock options exercised"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2023-01-012023-03-31_custom_EmployeesMember" id="Fact001221" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">8,000</ix:nonFraction></span>
employee;<span id="xdx_905_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_dxL_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zOOhbcU6Aq8k" title="Stock options exercised::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1223"> nil</span></span> consultant).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of March 31, 2024, there was approximately $<span id="xdx_906_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pp0p0_c20240331_zxq5v9419A3g" title="Stock vested compensation non vested"><ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" contextRef="AsOf2024-03-31" id="Fact001225" format="ixt:numdotdecimal" decimals="0" scale="0" unitRef="USD">822,813</ix:nonFraction></span> of compensation expense related to non-vested awards. This expense is expected to
be recognized over a weighted average period of <span id="xdx_907_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20240101__20240331_zsw3z9I4JeR2" title="Weighted average period expected to be recognized"><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" format="ixt-sec:duryear" id="Fact001227" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">2.3</ix:nonNumeric></span> years.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
aggregate intrinsic value of vested options outstanding at March 31, 2024 is $<span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_dxL_c20240331__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zSHm3y1OxDK2" title="Aggregate intrinsic value of vested options::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1229">nil</span></span> (2023 &#8211; $<span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_c20230331__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zqK6OzcEPS6f" title="Aggregate intrinsic value of vested options"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" contextRef="AsOf2023-03-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001231" format="ixt:numdotdecimal" decimals="0" unitRef="USD">161,430</ix:nonFraction></span>). The intrinsic value of options
exercised during the three months ended March 31, 2024 was $<span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_c20240101__20240331__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_z3kAxik5jE9l" title="Aggregate intrinsic value of vested options exercised"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" contextRef="From2024-01-012024-03-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001233" format="ixt:numdotdecimal" decimals="0" unitRef="USD">720</ix:nonFraction></span> (2023 - $<span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_c20230101__20230331__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zkvmd1jWgQh5" title="Aggregate intrinsic value of vested options exercised"><ix:nonFraction name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" contextRef="From2023-01-012023-03-31_us-gaap_CanadaRevenueAgencyMember" id="Fact001235" format="ixt:numdotdecimal" decimals="0" unitRef="USD">11,520</ix:nonFraction></span>).</span></p>

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


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

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001237" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock"><p id="xdx_801_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_zpkLwELTfxv4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>13.
<span id="xdx_82D_z3ql4U8rKyne">CAPITAL STOCK</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the three months ended March 31, 2024, <span id="xdx_90D_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zQ7BiIGnC7Nf" title="Stock options exercised"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember" id="Fact001239" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">15,000</ix:nonFraction></span> shares were issued upon the exercise of employee stock options (2023 &#8211; <span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20230101__20230331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zZDCgeeOSgp6" title="Stock options exercised"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="From2023-01-012023-03-31_us-gaap_EmployeeStockOptionMember" id="Fact001241" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">8,000</ix:nonFraction></span>).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the three months ended March 31, 2023, the Company issued <span id="xdx_900_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230101__20230331_zDbt6WugnwKb" title="Consultant for services, shares"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesIssuedForServices" contextRef="From2023-01-012023-03-31" id="Fact001243" format="ixt:numdotdecimal" decimals="INF" unitRef="Shares">1,272</ix:nonFraction></span> shares to a consultant for services rendered, resulting in an expense
of $<span id="xdx_907_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20230101__20230331_zoapXh0OKkFe" title="Consultant for services, value"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueIssuedForServices" contextRef="From2023-01-012023-03-31" id="Fact001245" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,070</ix:nonFraction></span> on the unaudited interim condensed consolidated statements of income and comprehensive income for the three months ended March
31, 2023.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
2023, the Company announced a special dividend of $<span id="xdx_90A_eus-gaap--DividendsPayableAmountPerShare_iI_pid_c20230331_zhU1B6hRV3F" title="Dividends per share"><ix:nonFraction name="us-gaap:DividendsPayableAmountPerShare" contextRef="AsOf2023-03-31" id="Fact001247" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.05</ix:nonFraction></span> per share that was paid on May 16, 2023 to shareholders.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001249" name="us-gaap:MinorityInterestDisclosureTextBlock"><p id="xdx_809_eus-gaap--MinorityInterestDisclosureTextBlock_zg3wf2sG34f8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>14.
<span id="xdx_829_zu3B2a0Om7eh">NON-CONTROLLING INTERESTS</span> </b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ENP Investments is a limited liability corporation
(&#8220;LLC&#8221;) that manufactures and distributes golf, turf and ornamental agriculture products in Mendota, Illinois. The Company
owns a <span id="xdx_902_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zzKq7fByr5w9" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2024-01-012024-03-31_custom_ENPInvestmentsLLCMember" id="Fact001251" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">65</ix:nonFraction></span>% interest in ENP Investments through its wholly-owned subsidiary NanoChem. An unrelated party (&#8220;NCI&#8221;) owns the
remaining <span id="xdx_905_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zMwHe4nttmT2" title="Related party owner ship percentage"><ix:nonFraction name="us-gaap:MinorityInterestOwnershipPercentageByParent" contextRef="AsOf2024-03-31_custom_ENPInvestmentsLLCMember" id="Fact001253" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">35</ix:nonFraction></span>% interest in ENP Investments. ENP Mendota is a wholly owned subsidiary of ENP Investments. ENP Mendota is a LLC that leases
warehouse space. For financial reporting purposes, the assets, liabilities and earnings of both of the LLC&#8217;s are consolidated into
these financial statements. The NCI&#8217;s ownership interest in ENP Investments is recorded in non-controlling interests in these consolidated
financial statements. The non-controlling interest represents NCI&#8217;s interest in the earnings and equity of ENP Investments. ENP
Investments is allocated to the TPA segment.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ENP
Investments makes cash distributions to its equity owners based on formulas defined within its Ownership Interest Purchase Agreement
dated October 1, 2018. Distributions are defined in the Ownership Interest Purchase Agreement as cash on hand to the extent it exceeds
current and anticipated long-term and short-term needs, including, without limitation, needs for operating expenses, debt service, acquisitions,
reserves, and mandatory distributions, if any.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From
the effective date of acquisition onward, the minimum distributions requirements under the Ownership Interest Purchase Agreement were
satisfied. The total distribution from the effective date of acquisition onward was $<span id="xdx_900_eus-gaap--PaymentsToMinorityShareholders_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zwAljUs3j3m5" title="Partnership distribution to non-controlling interest"><ix:nonFraction name="us-gaap:PaymentsToMinorityShareholders" contextRef="From2024-01-012024-03-31_custom_ENPInvestmentsLLCMember" id="Fact001255" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,225,957</ix:nonFraction></span>.</span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001257" name="FSI:ScheduleOfDistributionsTableTextBlock"><p id="xdx_893_ecustom--ScheduleOfDistributionsTableTextBlock_zE8sFr1iJh45" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B6_zINo4BH5sTAi" style="display: none">SCHEDULE
OF DISTRIBUTIONS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 82%">Balance, December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zZUAUi8CtNqj" title="Distribution to noncontrolling interests, Beginning balance" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001259" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,605,034</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Distribution</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zMrjK9ukj5Hf" title="Distribution" style="text-align: right">(<ix:nonFraction name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001261" format="ixt:numdotdecimal" decimals="0" unitRef="USD">719,439</ix:nonFraction></td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Non-controlling interest share of income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zeKqmhItqBq8" title="Non-controlling interest share of income" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001263" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,015,604</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--MinorityInterest_iS_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zUEbqCghElc2" title="Distribution to noncontrolling interests, Beginning balance" style="text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001265" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,901,199</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Non-controlling interest share of income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zlggCZ8KNBi1" title="Non-controlling interest share of income" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2024-01-012024-03-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001267" format="ixt:numdotdecimal" decimals="0" unitRef="USD">80,460</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balance, March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_984_eus-gaap--MinorityInterest_iE_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zmY1ohPtzAK4" title="Distribution to noncontrolling interests, Ending balance" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2024-03-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001269" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,981,659</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the three months ended March 31, 2024, the Company had sales of $<span id="xdx_90C_eus-gaap--Revenues_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zVJJj40dW2ti" title="Sales"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2024-01-012024-03-31_custom_ENPInvestmentsLLCMember" id="Fact001271" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,291,426</ix:nonFraction></span>
(2023 - $<span id="xdx_900_eus-gaap--Revenues_c20230101__20230331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zNZRinL09Sxc" title="Sales"><ix:nonFraction name="us-gaap:Revenues" contextRef="From2023-01-012023-03-31_custom_ENPInvestmentsLLCMember" id="Fact001273" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,098,948</ix:nonFraction></span>)
to NCI, of which $<span id="xdx_90A_eus-gaap--AccountsReceivableNetCurrent_iI_c20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zASyqW9NKLXh" title="Accounts receivable"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2024-03-31_custom_ENPInvestmentsLLCMember" id="Fact001275" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,381,282</ix:nonFraction></span>
is included in Accounts Receivable as of March 31, 2024 (December 31, 2023 &#8211; $<span id="xdx_901_eus-gaap--AccountsReceivableNetCurrent_iI_c20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zWJOJokZ8Efg" title="Accounts receivable"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="AsOf2023-12-31_custom_ENPInvestmentsLLCMember65959328" id="Fact001277" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,225,028</ix:nonFraction></span>).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>b<span style="font-variant: small-caps">)
</span></b>317 Mendota is a LLC that owns real estate that the Company intends to occupy part of while renting out the excess. The Company
owns a <span id="xdx_90A_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember_zjfKWDoDhMfl" title="Subsidiary company ownership interest rate"><ix:nonFraction name="us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" contextRef="From2024-01-012024-03-31_custom_MendotaLLCMember" id="Fact001279" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">80</ix:nonFraction></span>% interest in 317 Mendota and an unrelated party (&#8220;317 NCI&#8221;) owns the remaining <span id="xdx_908_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20240331__srt--OwnershipAxis__custom--MendotaLLCMember_zqfSfAnuK2Vk" title="Related party owner ship percentage"><ix:nonFraction name="us-gaap:MinorityInterestOwnershipPercentageByParent" contextRef="AsOf2024-03-31_custom_MendotaLLCMember" id="Fact001281" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">20</ix:nonFraction></span>% interest in 317 Mendota. For
financial reporting purposes, the assets, liabilities and earnings of 317 Mendota are consolidated into these financial statements. The
317 NCI&#8217;s ownership interest in 317 Mendota is recorded in non-controlling interests in these consolidated financial statements.
The non-controlling interest represents 317 NCI&#8217;s interest in the earnings and equity of 317 Mendota. 317 Mendota is allocated
to the TPA segment as that is the intended use of the building.</span></p>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001283" name="FSI:ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock"><p id="xdx_893_ecustom--ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_zUPJOqfEJiI1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_zhhGxxdYpXek" style="display: none">SCHEDULE
OF NON CONTROLLING INTEREST RELATED TO ACQUISITION</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z9wXkLZjFNUk" title="Distribution to noncontrolling interests, Beginning balance" style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1285">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 82%">Acquisition</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--PaymentsToAcquireBusinessesAndInterestInAffiliates_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z4gghoiVDYD6" title="Distribution to noncontrolling interests, Acquisition" style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:PaymentsToAcquireBusinessesAndInterestInAffiliates" contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001287" format="ixt:numdotdecimal" decimals="0" unitRef="USD">200,000</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Non-controlling interest share of income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zIO75RBXXL8k" title="Distribution to noncontrolling interests, Non-controlling interest share of loss" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation" contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001289" format="ixt:numdotdecimal" decimals="0" unitRef="USD">35,483</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--MinorityInterest_iS_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zlT9R9TQsOpi" title="Distribution to noncontrolling interests, Beginning balance" style="text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001291" format="ixt:numdotdecimal" decimals="0" unitRef="USD">164,517</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Non-controlling interest share of income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zaoFMdorTMUd" title="Distribution to noncontrolling interests, Non-controlling interest share of loss" style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation" contextRef="From2024-01-012024-03-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001293" format="ixt:numdotdecimal" decimals="0" unitRef="USD">21,477</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balance, March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98D_eus-gaap--MinorityInterest_iE_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zpGscKwB5ySe" title="Distribution to noncontrolling interests, Ending balance" style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:MinorityInterest" contextRef="AsOf2024-03-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember" id="Fact001295" format="ixt:numdotdecimal" decimals="0" unitRef="USD">143,040</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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


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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>&#160;</b></span></p>

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001297" name="us-gaap:SegmentReportingDisclosureTextBlock"><p id="xdx_80E_eus-gaap--SegmentReportingDisclosureTextBlock_zs2xfqT288b3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>15.
<span id="xdx_82C_zZif9lWzj0nh">SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company operates in<span id="xdx_90A_eus-gaap--NumberOfOperatingSegments_dc_uSegments_c20240101__20240331_zqABCz4rEb73" title="Number of operating segments"> <ix:nonFraction name="us-gaap:NumberOfOperatingSegments" contextRef="From2024-01-01to2024-03-31" id="Fact001299" format="ixt-sec:numwordsen" decimals="INF" unitRef="Segments">two</ix:nonFraction></span> segments:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(a)
</b>Energy and water conservation products (as shown under the column heading &#8220;EWCP&#8221; below), which consists of a (i) liquid
swimming pool blankets which save energy and water by inhibiting evaporation from the pool surface, and (ii) food-safe powdered form
of the active ingredient within the liquid blankets and which are designed to be used in still or slow moving drinking water sources.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(b)
</b>Biodegradable polymers, also known as TPA&#8217;s (as shown under the column heading &#8220;BCPA&#8221; below), used by the petroleum,
chemical, utility and mining industries to prevent corrosion and scaling in water piping. This product can also be used in detergents
to increase biodegradability and in agriculture to increase crop yields by enhancing fertilizer uptake.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
third product line is nitrogen conservation products used for the agriculture industry. These products decrease the loss of nitrogen
fertilizer after initial application and allows less fertilizer to be used. These products are made and sold by the Company&#8217;s TPA
division.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
accounting policies of the segments are the same as those described in Note 2, <i>Significant Accounting Policies</i>. The Company evaluates
performance based on profit or loss from operations before income taxes, not including nonrecurring gains and losses and foreign exchange
gains and losses</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s reportable segments are strategic business units that offer different, but synergistic products and services. They are
managed separately because each business requires different technology and marketing strategies.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Three
months ended March 31, 2024:</span></p>

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001301" name="us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock"><p id="xdx_89E_eus-gaap--ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_zqDnDmYSK3Ek" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B4_zZKq8Czmzfyc" style="display: none">SCHEDULE
OF REPORTABLE SEGMENTS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="vertical-align: bottom; text-align: center">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_496_20240101__20240331__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z98B8I7cNv64" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">EWCP</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49F_20240101__20240331__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zMWbgi0evMHf" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">BCPA</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49D_20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_ztpGkhAvIVkc" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Consolidated</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_znhp3eGwkWO5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_EWCPMember_custom_SegmentMember" id="Fact001303" format="ixt:numdotdecimal" decimals="0" unitRef="USD">41,608</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_BCPAMember_custom_SegmentMember" id="Fact001304" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,183,264</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_SegmentMember" id="Fact001305" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,224,872</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_z4snAbsuGE94" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1307">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2024-01-012024-03-31_custom_BCPAMember_custom_SegmentMember" id="Fact001308" format="ixt:numdotdecimal" decimals="0" unitRef="USD">175,266</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2024-01-012024-03-31_custom_SegmentMember" id="Fact001309" format="ixt:numdotdecimal" decimals="0" unitRef="USD">175,266</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zKloyDITOMQ2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationNonproduction" contextRef="From2024-01-012024-03-31_custom_EWCPMember_custom_SegmentMember" id="Fact001311" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,883</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationNonproduction" contextRef="From2024-01-012024-03-31_custom_BCPAMember_custom_SegmentMember" id="Fact001312" format="ixt:numdotdecimal" decimals="0" unitRef="USD">418,786</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationNonproduction" contextRef="From2024-01-012024-03-31_custom_SegmentMember" id="Fact001313" format="ixt:numdotdecimal" decimals="0" unitRef="USD">422,669</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_z2eGn9i9RMmk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2024-01-012024-03-31_custom_EWCPMember_custom_SegmentMember" id="Fact001315" format="ixt:numdotdecimal" decimals="0" unitRef="USD">34,940</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2024-01-012024-03-31_custom_BCPAMember_custom_SegmentMember" id="Fact001316" format="ixt:numdotdecimal" decimals="0" unitRef="USD">229,238</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2024-01-012024-03-31_custom_SegmentMember" id="Fact001317" format="ixt:numdotdecimal" decimals="0" unitRef="USD">264,178</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zMxjEzR6asXd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31_custom_EWCPMember_custom_SegmentMember" id="Fact001319" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,540</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31_custom_BCPAMember_custom_SegmentMember" id="Fact001320" format="ixt:numdotdecimal" decimals="0" unitRef="USD">438,685</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-012024-03-31_custom_SegmentMember" id="Fact001321" format="ixt:numdotdecimal" decimals="0" unitRef="USD">457,225</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_zdfuOxHxFZ5g" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:SegmentAssets" contextRef="From2024-01-012024-03-31_custom_EWCPMember_custom_SegmentMember" id="Fact001323" format="ixt:numdotdecimal" decimals="0" unitRef="USD">3,664,387</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:SegmentAssets" contextRef="From2024-01-012024-03-31_custom_BCPAMember_custom_SegmentMember" id="Fact001324" format="ixt:numdotdecimal" decimals="0" unitRef="USD">53,897,000</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:SegmentAssets" contextRef="From2024-01-012024-03-31_custom_SegmentMember" id="Fact001325" format="ixt:numdotdecimal" decimals="0" unitRef="USD">57,561,387</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zu9HQin2j463" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Expenditures for segment assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1327">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2024-01-012024-03-31_custom_BCPAMember_custom_SegmentMember" id="Fact001328" format="ixt:numdotdecimal" decimals="0" unitRef="USD">477,350</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2024-01-012024-03-31_custom_SegmentMember" id="Fact001329" format="ixt:numdotdecimal" decimals="0" unitRef="USD">477,350</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Three
months ended March 31, 2023:</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="vertical-align: bottom; text-align: center">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49C_20230101__20230331__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zYnwCZgvnYlb" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">EWCP</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_499_20230101__20230331__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z9eIIn0afSbi" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">BCPA</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_495_20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zUvTro3MJX4i" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Consolidated</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_z5xx5eA7GVO5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_EWCPMember_custom_SegmentMember" id="Fact001331" format="ixt:numdotdecimal" decimals="0" unitRef="USD">80,660</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_BCPAMember_custom_SegmentMember" id="Fact001332" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,776,857</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_SegmentMember" id="Fact001333" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,847,517</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_zgUvcwbxjfRc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1335">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2023-01-012023-03-31_custom_BCPAMember_custom_SegmentMember" id="Fact001336" format="ixt:numdotdecimal" decimals="0" unitRef="USD">134,870</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:InterestExpense" contextRef="From2023-01-012023-03-31_custom_SegmentMember" id="Fact001337" format="ixt:numdotdecimal" decimals="0" unitRef="USD">134,870</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zNQsvUOAdIm5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationNonproduction" contextRef="From2023-01-012023-03-31_custom_EWCPMember_custom_SegmentMember" id="Fact001339" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,279</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationNonproduction" contextRef="From2023-01-012023-03-31_custom_BCPAMember_custom_SegmentMember" id="Fact001340" format="ixt:numdotdecimal" decimals="0" unitRef="USD">360,905</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:DepreciationNonproduction" contextRef="From2023-01-012023-03-31_custom_SegmentMember" id="Fact001341" format="ixt:numdotdecimal" decimals="0" unitRef="USD">365,184</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zhu2ITk4jwVa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-012023-03-31_custom_EWCPMember_custom_SegmentMember" id="Fact001343" format="ixt:numdotdecimal" decimals="0" unitRef="USD">915</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-012023-03-31_custom_BCPAMember_custom_SegmentMember" id="Fact001344" format="ixt:numdotdecimal" decimals="0" unitRef="USD">298,862</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-012023-03-31_custom_SegmentMember" id="Fact001345" format="ixt:numdotdecimal" decimals="0" unitRef="USD">299,777</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zYwaWXfxuZal" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(<ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-03-31_custom_EWCPMember_custom_SegmentMember" id="Fact001347" format="ixt:numdotdecimal" decimals="0" sign="-" unitRef="USD">151,728</ix:nonFraction></td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-03-31_custom_BCPAMember_custom_SegmentMember" id="Fact001348" format="ixt:numdotdecimal" decimals="0" unitRef="USD">1,116,222</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2023-01-012023-03-31_custom_SegmentMember" id="Fact001349" format="ixt:numdotdecimal" decimals="0" unitRef="USD">964,494</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_zoTVvLhDxHD5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:SegmentAssets" contextRef="From2023-01-012023-03-31_custom_EWCPMember_custom_SegmentMember" id="Fact001351" format="ixt:numdotdecimal" decimals="0" unitRef="USD">2,858,968</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:SegmentAssets" contextRef="From2023-01-012023-03-31_custom_BCPAMember_custom_SegmentMember" id="Fact001352" format="ixt:numdotdecimal" decimals="0" unitRef="USD">50,079,080</ix:nonFraction></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><ix:nonFraction name="FSI:SegmentAssets" contextRef="From2023-01-012023-03-31_custom_SegmentMember" id="Fact001353" format="ixt:numdotdecimal" decimals="0" unitRef="USD">52,938,048</ix:nonFraction></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zoz7agY32ez1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Expenditures for segment assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1355">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-012023-03-31_custom_BCPAMember_custom_SegmentMember" id="Fact001356" format="ixt:numdotdecimal" decimals="0" unitRef="USD">213,060</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-012023-03-31_custom_SegmentMember" id="Fact001357" format="ixt:numdotdecimal" decimals="0" unitRef="USD">213,060</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  </table>

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


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

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

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001359" name="us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock"><p id="xdx_893_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zFjugEOZisUe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales
by territory are shown below:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_z6ARdtI1cF23" style="display: none">SCHEDULE
OF REVENUE GENERATED IN UNITED STATES AND CANADA</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_498_20240101__20240331_z2AigLgqTpih" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Three months <br/> ended <br/> March 31, 2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49E_20230101__20230331_zcuktveNUvZc" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Three months <br/> ended <br/> March 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__country--CA_zEQpJMYE33C6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_country_CA" id="Fact001361" format="ixt:numdotdecimal" decimals="0" unitRef="USD">88,478</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_country_CA" id="Fact001362" format="ixt:numdotdecimal" decimals="0" unitRef="USD">116,680</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__custom--UnitedStatesandAbroadMember_ztrR0lRXydQk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">United States and abroad</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-012024-03-31_custom_UnitedStatesandAbroadMember" id="Fact001364" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,136,394</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31_custom_UnitedStatesandAbroadMember" id="Fact001365" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,730,837</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zTVxxJcQD2Tj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2024-01-01to2024-03-31" id="Fact001367" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,224,872</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-01-012023-03-31" id="Fact001368" format="ixt:numdotdecimal" decimals="0" unitRef="USD">9,847,517</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001370" name="us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock"><p id="xdx_89C_eus-gaap--ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_zE8ZjZzAgnLc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s long-lived assets (property, equipment, leaseholds, right of use assets, intangibles, and goodwill) are located in Canada
and the United States as follows:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_zB515EvfaxAj" style="display: none">SCHEDULE
OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20240331_zwK6vI9iSN1l" style="border-bottom: Black 1.5pt solid; text-align: center">March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20231231_zFZKt8duuDHb" style="border-bottom: Black 1.5pt solid; text-align: center">December&#160;31,&#160;2023</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--CA_zgNqraBZN14k" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2024-03-31_country_CA" id="Fact001372" format="ixt:numdotdecimal" decimals="0" unitRef="USD">135,299</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2023-12-31_country_CA" id="Fact001373" format="ixt:numdotdecimal" decimals="0" unitRef="USD">142,577</ix:nonFraction></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--US_zNrND2Talfib" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">United States</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2024-03-31_country_US" id="Fact001375" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,906,216</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2023-12-31_country_US" id="Fact001376" format="ixt:numdotdecimal" decimals="0" unitRef="USD">17,958,778</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--NoncurrentAssets_iI_zVPUcIRZm1O6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2024-03-31" id="Fact001378" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,041,515</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><ix:nonFraction name="us-gaap:NoncurrentAssets" contextRef="AsOf2023-12-31" id="Fact001379" format="ixt:numdotdecimal" decimals="0" unitRef="USD">18,101,355</ix:nonFraction></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Three
primary customers accounted for $<span id="xdx_909_eus-gaap--AccountsReceivableNet_iI_c20240331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zz5qJqdb37nc" title="Accounts receivable, after allowance for credit loss"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-03-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember" id="Fact001381" format="ixt:numdotdecimal" decimals="0" unitRef="USD">5,106,905</ix:nonFraction></span> (<span id="xdx_909_ecustom--StockOptionExercisePercent_pid_dp_uPure_c20240101__20240331__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zh8Ae7anQTI7" title="Stock option exercise percent"><ix:nonFraction name="FSI:StockOptionExercisePercent" contextRef="From2024-01-012024-03-31_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember" id="Fact001383" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">55</ix:nonFraction></span>%) of sales during the three-month period ended March 31, 2024 (2023 - $<span id="xdx_903_eus-gaap--AccountsReceivableNet_iI_c20230331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zR2f08E9O2O7" title="Accounts receivable, after allowance for credit loss"><ix:nonFraction name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-03-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember" id="Fact001385" format="ixt:numdotdecimal" decimals="0" unitRef="USD">4,366,106</ix:nonFraction></span> or <span id="xdx_902_ecustom--StockOptionExercisePercent_pid_dp_uPure_c20230101__20230331__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zROhYjVikKIl" title="Stock option exercise percent"><ix:nonFraction name="FSI:StockOptionExercisePercent" contextRef="From2023-01-012023-03-31_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember" id="Fact001387" format="ixt:numdotdecimal" decimals="INF" scale="-2" unitRef="Pure">44</ix:nonFraction></span>%).</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001389" name="FSI:ComparativeFiguresTextBlock"><p id="xdx_800_ecustom--ComparativeFiguresTextBlock_zAAloxzNt3I9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>16.
<span id="xdx_820_zysznsIKpzM6">COMPARATIVE FIGURES</span></b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">.</span></b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
of the comparative figures have been reclassified to conform with the current period&#8217;s presentation.</span></p>

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

</ix:nonNumeric><ix:nonNumeric contextRef="From2024-01-01to2024-03-31" escape="true" id="Fact001391" name="us-gaap:SubsequentEventsTextBlock"><p id="xdx_800_eus-gaap--SubsequentEventsTextBlock_zYRNoYcHlWDb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>17.
<span id="xdx_820_z55srZrZUr51">SUBSEQUENT EVENTS</span> </b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
April 2024, the Company announced a special dividend of $<span id="xdx_90C_eus-gaap--DividendsPayableAmountPerShare_iI_pid_c20240430__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_zlv0OEexLJac" title="Dividends per share"><ix:nonFraction name="us-gaap:DividendsPayableAmountPerShare" contextRef="AsOf2024-04-30_us-gaap_SubsequentEventMember" id="Fact001393" format="ixt:numdotdecimal" decimals="INF" unitRef="USDPShares">0.10</ix:nonFraction></span>
per share that to be paid on May 16, 2024 to shareholders of record on April 30, 2024.</span></p>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="n_008"></span>Item
2. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations.</b></span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company manufactures and markets biodegradable polymers which are used in the oil, gas and agriculture industries. The Company also develops,
manufactures and markets specialty chemicals that slow the evaporation of water.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 35.45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">We
have three product lines.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 35.45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
first is a chemical (&#8220;EWCP&#8221;) used in swimming pools and spas. The product forms a thin, transparent layer on the water&#8217;s
surface. The transparent layer slows the evaporation of water, allowing the water to retain a higher temperature for a longer period
of time thereby reducing the energy required to maintain the desired temperature of the water. A modified version of EWCP can also be
used in reservoirs, potable water storage tanks, livestock watering pods, canals, and irrigation ditches for the purpose of reducing
evaporation.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 35.45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
second product, biodegradable polymers (&#8220;TPAs&#8221;), is used by the petroleum, chemical, utility and mining industries to prevent
corrosion and scaling in water piping. TPAs can also be used to increase biodegradability in detergents and in the agriculture industry
to increase crop yields by enhancing fertilizer uptake.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
third product line is nitrogen conservation products used for the agriculture industry. These products decrease the loss of nitrogen
fertilizer after initial application and allows less fertilizer to be used. These products are made and sold by the Company&#8217;s TPA
division.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Material
changes in the Company&#8217;s Statement of Operations for three months ended March 31, 2024 compared to the same period in the prior
year are discussed below:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="text-decoration: underline">Three
Months ended March 31, 2024</span></span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; text-align: justify; width: 22%; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Item</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; width: 2%; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; text-align: center; font: 10pt Times New Roman, Times, Serif; width: 12%; vertical-align: bottom"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increase&#160;(I)&#160;or</span></p>
                                                                                                                                                   <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span>Decrease
(D)</p></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center; width: 2%; vertical-align: bottom"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; vertical-align: bottom; width: 62%; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Reason</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: bottom">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">EWCP
    products</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">D</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Decreased
    customer orders.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">TPA
    products</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">D</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Decreased
    customer orders.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Insurance</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Prior
    year increase in assets and in sales resulted in higher insurance costs.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interest
    expense</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
    debt resulted in increased interest expense.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office
    and Miscellaneous</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">One
                                            time moving costs associated with closing the Naperville location.</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Research</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">New
                                            product development.</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Consulting</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Increased
                                            reliance on consultants instead of full time employees.</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Utilities</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Addition
                                            of real estate not yet rented out.</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Advertising and promotion</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">I</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">Increased outreach to customers and prospects.</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Lease
termination fee</span></p>
    <p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span></p></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">I</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">One
    time cost incurred terminating lease in Naperville, IL.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif">&#160;</td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify">&#160;</td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Investor
    relations</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">D</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Reduced
    shares traded and filings required in 2023 did not reoccur in 2024.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Currency
    exchange</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">D</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Currency
    exchange decreased as a result of movements in the US / Canadian dollar exchange rate and its effects on US dollar cash balances
    and US dollar payables held by the Company&#8217;s Canadian subsidiaries. </span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Three
primary customers accounted for 55% of the Company&#8217;s sales during the three months ended March 31, 2024 (2023 - 44%). The amount
of revenue (all from the sale of TPA products) attributable to each customer is shown below.</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Three Months Ended March 31,</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%; text-align: left">Company A</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">1,291,426</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">1,098,948</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Company B</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">2,299,938</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,778,897</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Company C</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,515,541</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,488,260</td><td style="text-align: left">&#160;</td></tr>
  </table>

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


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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customers
with balances greater than 10% of our receivables as of March 31, 2024 and 2023 are shown below:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="6" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">March 31,</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="vertical-align: bottom; text-align: center">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%; text-align: left">Company A</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">5,381,282</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">4,654,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Company B</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,723,833</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">1,470,846</td><td style="text-align: left">&#160;</td></tr>
  </table>

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
factors that will most significantly affect future operating results will be:</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 1in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">the
    sale price of crude oil which is used in the manufacture of aspartic acid we import from China. Aspartic acid is a key ingredient
    in our TPA products;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">activity
    in the oil and gas industry, as we sell our TPA products to oil and gas companies;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">drought
    conditions, since we also sell our TPA products to farmers; and</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
than the foregoing we do not know of any trends, events or uncertainties that have had, or are reasonably expected to have, a material
impact on our revenues or expenses.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Capital
Resources and Liquidity</b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s sources and (uses) of cash for the three months ended March 31, 2024 and 2023 are shown below:</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%; text-align: left">Cash provided (used) by operations</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 14%; text-align: right">(532,251</td><td style="width: 1%; text-align: left">)</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 14%; text-align: right">(228,229</td><td style="width: 1%; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Long term deposits</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(21,778</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(342,747</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Proceeds of equity investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">327,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">-</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Purchase of equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(478,123</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(213,060</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Borrowings from short term line of credit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,449,456</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">844,913</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Loan repayments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(185,916</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(177,639</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Proceeds of loans</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">57,816</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Lease payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(50,790</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(14,520</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Proceeds from sale of common stock</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">26,250</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">13,600</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Changes in exchange rates</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">27,223</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(167,239</td><td style="text-align: left">)</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has sufficient cash resources to meets its future commitments and cash flow requirements for the coming year. As of March 31,
2024, working capital was $20,616,492 (December 31, 2023 - $20,172,833) and the Company has no substantial commitments that require significant
outlays of cash over the coming fiscal year.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
than as disclosed above, the Company does not anticipate any capital requirements for the twelve months ending December 31, 2024.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
than as disclosed above, the Company does not know of any trends, demands, commitments, events or uncertainties that will result in,
or that are reasonable likely to result in, its liquidity increasing or decreasing in any material way.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">See
Note 2 to the condensed interim consolidated financial statements included as part of this report for a description of the Company&#8217;s
significant accounting policies.</span></p>

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


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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Evaluation
of Disclosure Controls and Procedures</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under
the direction and with the participation of our management, including our Principal Executive and Financial Officer, we conducted an
evaluation of the effectiveness of the design and operation of our disclosure controls and procedures as of March 31, 2024. We maintain
disclosure controls and procedures that are designed to ensure that information required to be disclosed in our periodic reports with
the Securities and Exchange Commission is recorded, processed, summarized and reported within the time periods specified in the SEC&#8217;s
rules and regulations, and that such information is accumulated and communicated to our management, including our principal executive
and financial officer, as appropriate, to allow timely decisions regarding required disclosure. Our disclosure controls and procedures
are designed to provide a reasonable level of assurance of reaching desired disclosure control objectives. Based on the evaluation, our
Principal Executive and Financial Officer concluded that these disclosure controls and procedures are effective as of March 31, 2024</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Changes
in Internal Control over Financial Reporting</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Our
management, with the participation of our Principal Executive and Financial Officer, evaluated whether any change in our internal control
over financial reporting occurred during the three months ended March 31, 2024. Based on that evaluation, it was concluded that there
has been no change in our internal control over financial reporting during the three months ended March 31, 2024 that materially affected,
or is reasonably likely to materially affect, our internal control over financial reporting.</span></p>

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"> <b><span id="ab_001"></span>Item 5.</b> <b>Other Information</b></p>



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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">None of our directors or officers
adopted or terminated a Rule 10b5-1 trading arrangement or a non-Rule 10b5-1 trading arrangement (as defined in Item 408(c) of Regulation
S-K) during the quarterly period ending March 31, 2024</p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><span id="n_011"></span>Item
6. Exhibits.</b></span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 0.75in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Number</b></span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.1in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Description</b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1069394/000149315222013777/ex3-1.htm" style="-sec-extract: exhibit">Articles of Continuance (Articles of Incorporation) <sup>(1)</sup></a></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.2</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="https://www.sec.gov/Archives/edgar/data/1069394/000149315222009669/ex3-ii.htm" style="-sec-extract: exhibit">Bylaws <sup>(2)</sup></a></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">31.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex31-1.htm">Certification of Principal Executive Officer Pursuant to &#167;302 of the Sarbanes-Oxley Act of 2002.*</a></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">31.2</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex31-2.htm">Certification of Principal Financial Officer Pursuant to &#167;302 of the Sarbanes-Oxley Act of 2002.*</a></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">32.1</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><a href="ex32-1.htm">Certification of Principal Executive and Financial Officer Pursuant to 18 U.S.C. &#167;1350 and &#167;906 of the Sarbanes-Oxley Act of 2002.*</a></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.INS</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Instance Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.SCH</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Schema Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.CAL</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Calculation Linkbase Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.DEF</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Definition Linkbase Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.LAB</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Label Linkbase Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">101.PRE</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inline
    XBRL Taxonomy Extension Presentation Linkbase Document</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">104</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Cover
    Page Interactive Data File (embedded within the Inline XBRL document)</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">*
Filed with this report.</span></p>

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(1)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Incorporated
    by reference the same exhibit filed with the Company&#8217;s March 31, 2022 10-Q report.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(2)</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Incorporated
    by reference to Exhibit 3(ii) filed the Company&#8217;s 8-K report dated April 10, 2022.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>&#160;</b></span></p>


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

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

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

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with the requirements of Section 13 or 15(d) of the Exchange Act, the registrant caused this report to be signed on its behalf
by the undersigned, thereunto duly authorized.</span></p>

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

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

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

<table cellspacing="0" cellpadding="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td colspan="2" style="font: 10pt Times New Roman, Times, Serif"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>Flexible
    Solutions International, Inc.</b></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 50%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 5%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 45%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Daniel B. O&#8217;Brien</i></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name:</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    B. O&#8217;Brien</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title:</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">President
    and Principal Executive Officer</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">By:</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><i>/s/
    Daniel B. O&#8217;Brien</i></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Name:</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    B. O&#8217;Brien</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Title:</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Principal
    Financial and Accounting Officer</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>


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

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

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

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

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

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

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I,
Daniel O&rsquo;Brien, certify that:</FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.
I have reviewed this quarterly report on Form 10-Q of Flexible Solutions International, Inc.;</FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.
Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary
to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the
period covered by this report;</FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.
Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material
respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this
report;</FONT></P>

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

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)
designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision,
to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others
within those entities, particularly during the period in which this report is being prepared;</FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)
designed such internal control over financial reporting, or cause such internal control over financial reporting to be designed under
our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements
for external purposes in accordance with generally accepted accounting principles;</FONT></P>

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

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">d)
disclosed in this report any change in the registrant&rsquo;s internal control over financial reporting that occurred during the registrant&rsquo;s
most recent fiscal quarter (the registrant&rsquo;s fourth fiscal quarter in the case of an annual report) that has materially affected,
or is reasonably likely to materially affect, the registrant&rsquo;s internal control over financial reporting; and</FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.
The registrant&rsquo;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of the internal control
over financial reporting, to the registrant&rsquo;s auditors and the audit committee of the registrant&rsquo;s board of directors (or
persons performing the equivalent functions):</FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)
all significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are
reasonably likely to adversely affect the registrant&rsquo;s ability to record, process, summarize and report financial information;
and</FONT></P>

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

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

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">May
    15, 2024</FONT></TD>
    <TD STYLE="text-align: justify; border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Daniel B. O&rsquo;Brien</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    O&rsquo;Brien</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Principal
    Executive Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


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

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

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

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

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

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

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">I,
Daniel O&rsquo;Brien, certify that:</FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">1.
I have reviewed this quarterly report on Form 10-Q of Flexible Solutions International, Inc.;</FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">2.
Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary
to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the
period covered by this report;</FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">3.
Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material
respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this
report;</FONT></P>

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

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)
designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision,
to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others
within those entities, particularly during the period in which this report is being prepared;</FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">b)
designed such internal control over financial reporting, or cause such internal control over financial reporting to be designed under
our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements
for external purposes in accordance with generally accepted accounting principles;</FONT></P>

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

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">d)
disclosed in this report any change in the registrant&rsquo;s internal control over financial reporting that occurred during the registrant&rsquo;s
most recent fiscal quarter (the registrant&rsquo;s fourth fiscal quarter in the case of an annual report) that has materially affected,
or is reasonably likely to materially affect, the registrant&rsquo;s internal control over financial reporting; and</FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">5.
The registrant&rsquo;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of the internal control
over financial reporting, to the registrant&rsquo;s auditors and the audit committee of the registrant&rsquo;s board of directors (or
persons performing the equivalent functions):</FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">a)
all significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are
reasonably likely to adversely affect the registrant&rsquo;s ability to record, process, summarize and report financial information;
and</FONT></P>

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

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

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">May
    15, 2024</FONT></TD>
    <TD STYLE="text-align: justify; border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Daniel B. O&rsquo;Brien</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    O&rsquo;Brien</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Principal
    Financial Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


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

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

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

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

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

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><B>CertificatION
of Principal Executive Officer</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><B>Pursuant
to 18 U.S.C. Section 1350,</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><B>as
Adopted Pursuant to</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: center"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt; text-transform: uppercase"><B>Section
906 of the Sarbanes-Oxley Act of 2002</B></FONT></P>

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

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Solely
for the purposes of complying with 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, I, the
undersigned Principal Executive and Financial Officer of Flexible Solutions International, Inc. (the &ldquo;Company&rdquo;), hereby certify
that, to the best of my knowledge, the Quarterly Report on Form 10-Q of the Company for the quarter ended March 31, 2024 (the &ldquo;Report&rdquo;)
fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 and that the information contained
in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</FONT></P>

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

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">May
    15, 2024</FONT></TD>
    <TD STYLE="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 50%"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt"><I>/s/
    Daniel B. O&rsquo;Brien</I></FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Daniel
    B. O&rsquo;Brien</FONT></TD></TR>
  <TR STYLE="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></TD>
    <TD STYLE="font: 10pt Times New Roman, Times, Serif"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">Principal
    Executive and Financial Officer</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&nbsp;</FONT></P>


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

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

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>5
<FILENAME>fsi-20240331.xsd
<DESCRIPTION>XBRL SCHEMA FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" ?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
    <!-- Field: Doc-Info; Name: Misc; Value: 96Mps7xRiXgen8uDanwsWayKKbP9z5Z8mekhvWB3bcnavysqHOypDSION3T2QbYH -->
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:srt="http://fasb.org/srt/2024" xmlns:srt-types="http://fasb.org/srt-types/2024" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:FSI="http://flexiblesolutions.com/20240331" elementFormDefault="qualified" targetNamespace="http://flexiblesolutions.com/20240331">
    <annotation>
      <appinfo>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Cover" id="Cover">
          <link:definition>00000001 - Document - Cover</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets" id="InterimConsolidatedBalanceSheets">
          <link:definition>00000002 - Statement - Condensed Interim Consolidated Balance Sheets</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical" id="InterimConsolidatedBalanceSheetsParenthetical">
          <link:definition>00000003 - Statement - Condensed Interim Consolidated Balance Sheets (Parenthetical)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" id="InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss">
          <link:definition>00000004 - Statement - Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Loss) (Unaudited)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows" id="InterimConsolidatedStatementsOfCashFlows">
          <link:definition>00000005 - Statement - Condensed Interim Consolidated Statements of Cash Flows (Unaudited)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity" id="InterimConsolidatedStatementsOfStockholdersEquity">
          <link:definition>00000006 - Statement - Condensed Interim Consolidated Statements of Stockholders' Equity (Unaudited)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/BasisOfPresentation" id="BasisOfPresentation">
          <link:definition>00000007 - Disclosure - BASIS OF PRESENTATION</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SignificantAccountingPolicies" id="SignificantAccountingPolicies">
          <link:definition>00000008 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Leases" id="Leases">
          <link:definition>00000009 - Disclosure - LEASES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/AccountsReceivable" id="AccountsReceivable">
          <link:definition>00000010 - Disclosure - ACCOUNTS RECEIVABLE</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Inventories" id="Inventories">
          <link:definition>00000011 - Disclosure - INVENTORIES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" id="PropertyEquipmentAndLeaseholds">
          <link:definition>00000012 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" id="GoodwillAndIntangibleAssets">
          <link:definition>00000013 - Disclosure - GOODWILL AND INTANGIBLE ASSETS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/LongTermDeposits" id="LongTermDeposits">
          <link:definition>00000014 - Disclosure - LONG TERM DEPOSITS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Investments" id="Investments">
          <link:definition>00000015 - Disclosure - INVESTMENTS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Short-termLineOfCredit" id="Short-termLineOfCredit">
          <link:definition>00000016 - Disclosure - SHORT-TERM LINE OF CREDIT</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/LongTermDebt" id="LongTermDebt">
          <link:definition>00000017 - Disclosure - LONG TERM 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 roleURI="http://flexiblesolutions.com/role/StockOptions" id="StockOptions">
          <link:definition>00000018 - Disclosure - STOCK OPTIONS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/CapitalStock" id="CapitalStock">
          <link:definition>00000019 - Disclosure - CAPITAL STOCK</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Non-controllingInterests" id="Non-controllingInterests">
          <link:definition>00000020 - Disclosure - NON-CONTROLLING INTERESTS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" id="SegmentedSignificantCustomerInformationAndEconomicDependency">
          <link:definition>00000021 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ComparativeFigures" id="ComparativeFigures">
          <link:definition>00000022 - Disclosure - COMPARATIVE FIGURES</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SubsequentEvents" id="SubsequentEvents">
          <link:definition>00000023 - Disclosure - SUBSEQUENT EVENTS</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" id="SignificantAccountingPoliciesPolicies">
          <link:definition>00000024 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" id="SignificantAccountingPoliciesTables">
          <link:definition>00000025 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/LeasesTables" id="LeasesTables">
          <link:definition>00000026 - Disclosure - LEASES (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/AccountsReceivableTables" id="AccountsReceivableTables">
          <link:definition>00000027 - Disclosure - ACCOUNTS RECEIVABLE (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/InventoriesTables" id="InventoriesTables">
          <link:definition>00000028 - Disclosure - INVENTORIES (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" id="PropertyEquipmentAndLeaseholdsTables">
          <link:definition>00000029 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" id="GoodwillAndIntangibleAssetsTables">
          <link:definition>00000030 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/LongTermDepositsTables" id="LongTermDepositsTables">
          <link:definition>00000031 - Disclosure - LONG TERM DEPOSITS (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/InvestmentsTables" id="InvestmentsTables">
          <link:definition>00000032 - Disclosure - INVESTMENTS (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/LongTermDebtTables" id="LongTermDebtTables">
          <link:definition>00000033 - Disclosure - LONG TERM 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 roleURI="http://flexiblesolutions.com/role/StockOptionsTables" id="StockOptionsTables">
          <link:definition>00000034 - Disclosure - STOCK OPTIONS (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsTables" id="Non-controllingInterestsTables">
          <link:definition>00000035 - Disclosure - NON-CONTROLLING INTERESTS (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" id="SegmentedSignificantCustomerInformationAndEconomicDependencyTables">
          <link:definition>00000036 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" id="BasisOfPresentationDetailsNarrative">
          <link:definition>00000037 - Disclosure - BASIS OF PRESENTATION (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" id="ScheduleOfMethodOfDepreciationDetails">
          <link:definition>00000038 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" id="SignificantAccountingPoliciesDetailsNarrative">
          <link:definition>00000039 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" id="SummaryOfRight-of-useAssetAndLeaseLiabilityDetails">
          <link:definition>00000040 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/LeasesDetailsNarrative" id="LeasesDetailsNarrative">
          <link:definition>00000041 - Disclosure - LEASES (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" id="ScheduleOfAccountsReceivableDetails">
          <link:definition>00000042 - Disclosure - SCHEDULE OF 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 roleURI="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" id="ScheduleOfInventoryDetails">
          <link:definition>00000043 - Disclosure - SCHEDULE OF INVENTORY (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" id="ScheduleOfPropertyEquipmentAndLeaseholdsDetails">
          <link:definition>00000044 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" id="PropertyEquipmentAndLeaseholdsDetailsNarrative">
          <link:definition>00000045 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" id="ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails">
          <link:definition>00000046 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" id="ScheduleOfEstimatedFutureAmortizationExpenseDetails">
          <link:definition>00000047 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" id="GoodwillAndIntangibleAssetsDetailsNarrative">
          <link:definition>00000048 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" id="ScheduleOfLongTermDepositsDetails">
          <link:definition>00000049 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" id="ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails">
          <link:definition>00000050 - Disclosure - SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" id="ScheduleOfEquityMethodInvestmentDetails">
          <link:definition>00000051 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" id="SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails">
          <link:definition>00000052 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/InvestmentsDetailsNarrative" id="InvestmentsDetailsNarrative">
          <link:definition>00000053 - Disclosure - INVESTMENTS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative" id="Short-termLineOfCreditDetailsNarrative">
          <link:definition>00000054 - Disclosure - SHORT-TERM LINE OF CREDIT (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" id="ScheduleOfLoanCovenantsDetails">
          <link:definition>00000055 - Disclosure - SCHEDULE OF LOAN COVENANTS (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" id="ScheduleOfOutstandingBalanceLoanDetails">
          <link:definition>00000056 - Disclosure - SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative" id="LongTermDebtDetailsNarrative">
          <link:definition>00000057 - Disclosure - LONG TERM DEBT (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" id="ScheduleOfStockOptionActivitiesDetails">
          <link:definition>00000058 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" id="ScheduleOfStockOptionFairValueAssumptionsDetails">
          <link:definition>00000059 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/StockOptionsDetailsNarrative" id="StockOptionsDetailsNarrative">
          <link:definition>00000060 - Disclosure - STOCK OPTIONS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" id="CapitalStockDetailsNarrative">
          <link:definition>00000061 - Disclosure - CAPITAL STOCK (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" id="ScheduleOfDistributionsDetails">
          <link:definition>00000062 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" id="ScheduleOfNonControllingInterestRelatedToAcquisitionDetails">
          <link:definition>00000063 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" id="Non-controllingInterestsDetailsNarrative">
          <link:definition>00000064 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" id="ScheduleOfReportableSegmentsDetails">
          <link:definition>00000065 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" id="ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails">
          <link:definition>00000066 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" id="ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails">
          <link:definition>00000067 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" id="SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative">
          <link:definition>00000068 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:roleType roleURI="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" id="SubsequentEventsDetailsNarrative">
          <link:definition>00000069 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)</link:definition>
          <link:usedOn>link:presentationLink</link:usedOn>
          <link:usedOn>link:calculationLink</link:usedOn>
          <link:usedOn>link:definitionLink</link:usedOn>
        </link:roleType>
        <link:linkbaseRef xlink:type="simple" xlink:href="fsi-20240331_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Presentation Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="fsi-20240331_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Label Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="fsi-20240331_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Calculation Links" />
        <link:linkbaseRef xlink:type="simple" xlink:href="fsi-20240331_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:title="Definition Links" />
      </appinfo>
    </annotation>
    <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
    <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
    <import namespace="http://xbrl.sec.gov/dei/2024" schemaLocation="https://xbrl.sec.gov/dei/2024/dei-2024.xsd" />
    <import namespace="http://fasb.org/us-gaap/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd" />
    <import namespace="http://fasb.org/us-types/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd" />
    <import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
    <import namespace="http://xbrl.sec.gov/country/2024" schemaLocation="https://xbrl.sec.gov/country/2024/country-2024.xsd" />
    <import namespace="http://fasb.org/srt/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd" />
    <import namespace="http://fasb.org/srt-types/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd" />
    <element id="FSI_CapitalInExcessOfParValueMember" name="CapitalInExcessOfParValueMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_MendotaLLCMember" name="MendotaLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPInvestmentsLLCAndENPMendotaMember" name="ENPInvestmentsLLCAndENPMendotaMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPPeruMember" name="ENPPeruMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_UnrelatedPartyMember" name="UnrelatedPartyMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_FirstTermMember" name="FirstTermMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SecondTermMember" name="SecondTermMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ThirdTermMember" name="ThirdTermMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_FourthTermMember" name="FourthTermMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_FifthTermMember" name="FifthTermMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ThreePrimaryCustomersMember" name="ThreePrimaryCustomersMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_InvestmentMember" name="InvestmentMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EnPInvestmentsCorporationLLCMember" name="EnPInvestmentsCorporationLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EnpPeruInvestmentsLlcMember" name="EnpPeruInvestmentsLlcMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_NanoChemMember" name="NanoChemMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPInvestmentsLLCMember" name="ENPInvestmentsLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EnpnvestmentsLlcMember" name="EnpnvestmentsLlcMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_AppliedHoldingCorpMember" name="AppliedHoldingCorpMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TrioOpportunityCorpMember" name="TrioOpportunityCorpMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_FloridaBasedLLCMember" name="FloridaBasedLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LygosIncMember" name="LygosIncMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardAndBankMember" name="StockYardAndBankMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_MidlandStatesBankMember" name="MidlandStatesBankMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_NewAgreementMember" name="NewAgreementMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_NanoChemSolutionIncMember" name="NanoChemSolutionIncMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockBankMember" name="StockBankMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TermLoanMember" name="TermLoanMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_MidlandBankMember" name="MidlandBankMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPMendotaMember" name="ENPMendotaMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardsBankTrustMember" name="StockYardsBankTrustMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EnpRealtyLLCMember" name="EnpRealtyLLCMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPPeruInvestmentsMember" name="ENPPeruInvestmentsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ENPPeruOneMember" name="ENPPeruOneMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_MendotaMember" name="MendotaMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardsBankTrustOneMember" name="StockYardsBankTrustOneMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardsBankTrustTwoMember" name="StockYardsBankTrustTwoMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardsBankTrustThreeMember" name="StockYardsBankTrustThreeMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardsBankTrustFourMember" name="StockYardsBankTrustFourMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockYardsBankTrustFiveMember" name="StockYardsBankTrustFiveMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ConsultantsMember" name="ConsultantsMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EmployeesMember" name="EmployeesMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_OwnershipInterestPurchaseAgreementMember" name="OwnershipInterestPurchaseAgreementMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ThreeCustomersMember" name="ThreeCustomersMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EWCPMember" name="EWCPMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SegmentMember" name="SegmentMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_BCPAMember" name="BCPAMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_UnitedStatesandAbroadMember" name="UnitedStatesandAbroadMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_Consulting" name="Consulting" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_InvestorRelationsAndTransferAgentFee" name="InvestorRelationsAndTransferAgentFee" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ShippingCost" name="ShippingCost" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_Commissions" name="Commissions" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LeaseTerminationFee" name="LeaseTerminationFee" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LeaseRightOfUseFinancing" name="LeaseRightOfUseFinancing" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_PaymentsToAcquireLongTermDeposits" name="PaymentsToAcquireLongTermDeposits" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DisclosureLeasesAbstract" name="DisclosureLeasesAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DisclosureLongTermDepositsAbstract" name="DisclosureLongTermDepositsAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LongTermDepositsTextBlock" name="LongTermDepositsTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DisclosureComparativeFiguresAbstract" name="DisclosureComparativeFiguresAbstract" abstract="true" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ComparativeFiguresTextBlock" name="ComparativeFiguresTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TermDepositsPolicyTextBlock" name="TermDepositsPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockIssuedInExchangeForServicesPolicyTextBlock" name="StockIssuedInExchangeForServicesPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfMethodOfDepreciationTableTextBlock" name="ScheduleOfMethodOfDepreciationTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" name="SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfLongTermDepositsTableTextBlock" name="ScheduleOfLongTermDepositsTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfLoanCovenantsTableTextBlock" name="ScheduleOfLoanCovenantsTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfDistributionsTableTextBlock" name="ScheduleOfDistributionsTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" name="ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" nillable="true" xbrli:periodType="duration" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_IncreaseDecreaseInSharePercentage" name="IncreaseDecreaseInSharePercentage" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_RemainingInvestmentOwnedPercentage" name="RemainingInvestmentOwnedPercentage" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DepreciationMethodUsedAndAnnualRate" name="DepreciationMethodUsedAndAnnualRate" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_MinimumInterestPenalty" name="MinimumInterestPenalty" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_ConcentrationRiskThresholdPercentage" name="ConcentrationRiskThresholdPercentage" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease" name="OperatingLeaseRightOfUseAssetEarlyTerminationOfLease" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LeaseInterestExpense" name="LeaseInterestExpense" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease" name="OperatingLeaseLiabilityEarlyTerminationOfLease" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_InvestmentEliminatedUponConsolidation" name="InvestmentEliminatedUponConsolidation" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_GainOnAcquisitionOfSubsidiary" name="GainOnAcquisitionOfSubsidiary" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EquityMethodInvestmentReturnOfEquity" name="EquityMethodInvestmentReturnOfEquity" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_RealizedInvestmentGainsLossesNet" name="RealizedInvestmentGainsLossesNet" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" name="AdditionalEquityMethodInvestmentOwnershipPercentage" nillable="true" xbrli:periodType="instant" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_DebtInstrumentMaturityMonthYear" name="DebtInstrumentMaturityMonthYear" nillable="true" xbrli:periodType="duration" type="xbrli:gYearMonthItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_PercentageOfForeignAccountsReceivableOfInventory" name="PercentageOfForeignAccountsReceivableOfInventory" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_LoanGuaranteedRate" name="LoanGuaranteedRate" nillable="true" xbrli:periodType="instant" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_EligiblePercentageOfDomesticAccountsReceivable" name="EligiblePercentageOfDomesticAccountsReceivable" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" name="SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" nillable="true" xbrli:periodType="instant" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" name="SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" name="SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" name="SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" nillable="true" xbrli:periodType="duration" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" name="SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" nillable="true" xbrli:periodType="instant" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_AdditionalExpensesDueToOptionsGranted" name="AdditionalExpensesDueToOptionsGranted" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SegmentAssets" name="SegmentAssets" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_StockOptionExercisePercent" name="StockOptionExercisePercent" nillable="true" xbrli:periodType="duration" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_BoatMember" name="BoatMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_SoftwareMember" name="SoftwareMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
    <element id="FSI_TrailerMember" name="TrailerMember" nillable="true" xbrli:periodType="duration" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>6
<FILENAME>fsi-20240331_cal.xml
<DESCRIPTION>XBRL CALCULATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Cover" xlink:href="fsi-20240331.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets" xlink:href="fsi-20240331.xsd#InterimConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical" xlink:href="fsi-20240331.xsd#InterimConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" xlink:href="fsi-20240331.xsd#InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows" xlink:href="fsi-20240331.xsd#InterimConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity" xlink:href="fsi-20240331.xsd#InterimConsolidatedStatementsOfStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:href="fsi-20240331.xsd#BasisOfPresentation" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:href="fsi-20240331.xsd#SignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Leases" xlink:href="fsi-20240331.xsd#Leases" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivable" xlink:href="fsi-20240331.xsd#AccountsReceivable" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Inventories" xlink:href="fsi-20240331.xsd#Inventories" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" xlink:href="fsi-20240331.xsd#PropertyEquipmentAndLeaseholds" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" xlink:href="fsi-20240331.xsd#GoodwillAndIntangibleAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDeposits" xlink:href="fsi-20240331.xsd#LongTermDeposits" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Investments" xlink:href="fsi-20240331.xsd#Investments" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Short-termLineOfCredit" xlink:href="fsi-20240331.xsd#Short-termLineOfCredit" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebt" xlink:href="fsi-20240331.xsd#LongTermDebt" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptions" xlink:href="fsi-20240331.xsd#StockOptions" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStock" xlink:href="fsi-20240331.xsd#CapitalStock" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:href="fsi-20240331.xsd#Non-controllingInterests" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:href="fsi-20240331.xsd#SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ComparativeFigures" xlink:href="fsi-20240331.xsd#ComparativeFigures" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEvents" xlink:href="fsi-20240331.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:href="fsi-20240331.xsd#SignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:href="fsi-20240331.xsd#SignificantAccountingPoliciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LeasesTables" xlink:href="fsi-20240331.xsd#LeasesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivableTables" xlink:href="fsi-20240331.xsd#AccountsReceivableTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InventoriesTables" xlink:href="fsi-20240331.xsd#InventoriesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" xlink:href="fsi-20240331.xsd#PropertyEquipmentAndLeaseholdsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" xlink:href="fsi-20240331.xsd#GoodwillAndIntangibleAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDepositsTables" xlink:href="fsi-20240331.xsd#LongTermDepositsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InvestmentsTables" xlink:href="fsi-20240331.xsd#InvestmentsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebtTables" xlink:href="fsi-20240331.xsd#LongTermDebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptionsTables" xlink:href="fsi-20240331.xsd#StockOptionsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:href="fsi-20240331.xsd#Non-controllingInterestsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:href="fsi-20240331.xsd#SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:href="fsi-20240331.xsd#BasisOfPresentationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:href="fsi-20240331.xsd#ScheduleOfMethodOfDepreciationDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:href="fsi-20240331.xsd#SignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:href="fsi-20240331.xsd#SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LeasesDetailsNarrative" xlink:href="fsi-20240331.xsd#LeasesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:href="fsi-20240331.xsd#ScheduleOfAccountsReceivableDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:href="fsi-20240331.xsd#ScheduleOfInventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:href="fsi-20240331.xsd#PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:href="fsi-20240331.xsd#ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:href="fsi-20240331.xsd#GoodwillAndIntangibleAssetsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfLongTermDepositsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:href="fsi-20240331.xsd#ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:href="fsi-20240331.xsd#ScheduleOfEquityMethodInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:href="fsi-20240331.xsd#SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InvestmentsDetailsNarrative" xlink:href="fsi-20240331.xsd#InvestmentsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative" xlink:href="fsi-20240331.xsd#Short-termLineOfCreditDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfLoanCovenantsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" xlink:href="fsi-20240331.xsd#ScheduleOfOutstandingBalanceLoanDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative" xlink:href="fsi-20240331.xsd#LongTermDebtDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:href="fsi-20240331.xsd#ScheduleOfStockOptionActivitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptionsDetailsNarrative" xlink:href="fsi-20240331.xsd#StockOptionsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:href="fsi-20240331.xsd#CapitalStockDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfDistributionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:href="fsi-20240331.xsd#ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:href="fsi-20240331.xsd#Non-controllingInterestsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfReportableSegmentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:href="fsi-20240331.xsd#ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:href="fsi-20240331.xsd#ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:href="fsi-20240331.xsd#SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" xlink:href="fsi-20240331.xsd#SubsequentEventsDetailsNarrative" xlink:type="simple" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets" xlink:title="00000002 - Statement - Condensed Interim Consolidated Balance Sheets">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapCash" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepositsAssetsCurrent" xlink:label="loc_us-gaapDepositsAssetsCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapDepositsAssetsCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="loc_us-gaapPrepaidExpenseCurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapPrepaidExpenseCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapAssetsCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="loc_us-gaapDepositsAssetsNoncurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapDepositsAssetsNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapEquityMethodInvestments" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapGoodwill" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccountsPayableCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="loc_us-gaapDeferredRevenueCurrent" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapDeferredRevenueCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaapTaxesPayableCurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapTaxesPayableCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapLinesOfCreditCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtCurrent" xlink:label="loc_us-gaapLongTermDebtCurrent" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapLongTermDebtCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapLongTermDebtNoncurrent" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapCommonStockValue" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapAdditionalPaidInCapital" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="loc_us-gaapMinorityInterest" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapLiabilities" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical" xlink:title="00000003 - Statement - Condensed Interim Consolidated Balance Sheets (Parenthetical)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" xlink:title="00000004 - Statement - Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Loss) (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalariesAndWages" xlink:label="loc_us-gaapSalariesAndWages" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapSalariesAndWages" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OfficersCompensation" xlink:label="loc_us-gaapOfficersCompensation" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapOfficersCompensation" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralInsuranceExpense" xlink:label="loc_us-gaapGeneralInsuranceExpense" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapGeneralInsuranceExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapInterestExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherGeneralExpense" xlink:label="loc_us-gaapOtherGeneralExpense" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapOtherGeneralExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapResearchAndDevelopmentExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_Consulting" xlink:label="loc_FSIConsulting" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_FSIConsulting" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UtilitiesOperatingExpense" xlink:label="loc_us-gaapUtilitiesOperatingExpense" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapUtilitiesOperatingExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="loc_us-gaapSellingAndMarketingExpense" />
      <link:calculationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapSellingAndMarketingExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TravelAndEntertainmentExpense" xlink:label="loc_us-gaapTravelAndEntertainmentExpense" />
      <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapTravelAndEntertainmentExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfessionalFees" xlink:label="loc_us-gaapProfessionalFees" />
      <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapProfessionalFees" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_InvestorRelationsAndTransferAgentFee" xlink:label="loc_FSIInvestorRelationsAndTransferAgentFee" />
      <link:calculationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_FSIInvestorRelationsAndTransferAgentFee" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseExpense" xlink:label="loc_us-gaapOperatingLeaseExpense" />
      <link:calculationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapOperatingLeaseExpense" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommunicationsAndInformationTechnology" xlink:label="loc_us-gaapCommunicationsAndInformationTechnology" />
      <link:calculationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapCommunicationsAndInformationTechnology" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ShippingCost" xlink:label="loc_FSIShippingCost" />
      <link:calculationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_FSIShippingCost" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax" />
      <link:calculationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_Commissions" xlink:label="loc_FSICommissions" />
      <link:calculationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_FSICommissions" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapGrossProfit" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapOperatingExpenses" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_LeaseTerminationFee" xlink:label="loc_FSILeaseTerminationFee" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_FSILeaseTerminationFee" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnInvestments" xlink:label="loc_us-gaapGainLossOnInvestments" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapGainLossOnInvestments" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeOther" xlink:label="loc_us-gaapInterestIncomeOther" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapInterestIncomeOther" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapProfitLoss" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapProfitLoss" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTax" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTax" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTax" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows" xlink:title="00000005 - Statement - Condensed Interim Consolidated Statements of Cash Flows (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaapDepreciationAndAmortization" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapDepreciationAndAmortization" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="loc_us-gaapFinanceLeaseRightOfUseAssetAmortization" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapFinanceLeaseRightOfUseAssetAmortization" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_LeaseRightOfUseFinancing" xlink:label="loc_FSILeaseRightOfUseFinancing" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_FSILeaseRightOfUseFinancing" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnTerminationOfLease" xlink:label="loc_us-gaapGainLossOnTerminationOfLease" />
      <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapGainLossOnTerminationOfLease" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnInvestments" xlink:label="loc_us-gaapGainLossOnInvestments" />
      <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapGainLossOnInvestments" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:calculationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidExpense" />
      <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidExpense" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:calculationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
      <link:calculationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_PaymentsToAcquireLongTermDeposits" xlink:label="loc_FSIPaymentsToAcquireLongTermDeposits" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_FSIPaymentsToAcquireLongTermDeposits" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="loc_us-gaapProceedsFromSaleOfEquityMethodInvestments" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapProceedsFromSaleOfEquityMethodInvestments" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="loc_us-gaapProceedsFromLinesOfCredit" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromLinesOfCredit" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="loc_us-gaapRepaymentsOfLongTermDebt" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapRepaymentsOfLongTermDebt" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="loc_us-gaapProceedsFromIssuanceOfLongTermDebt" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromIssuanceOfLongTermDebt" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfFinancingCosts" xlink:label="loc_us-gaapPaymentsOfFinancingCosts" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapPaymentsOfFinancingCosts" xlink:type="arc" weight="-1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfCommonStock" />
      <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromIssuanceOfCommonStock" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" weight="1" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" weight="1" />
      <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity" xlink:title="00000006 - Statement - Condensed Interim Consolidated Statements of Stockholders&apos; Equity (Unaudited)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:title="00000007 - Disclosure - BASIS OF PRESENTATION" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:title="00000008 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Leases" xlink:title="00000009 - Disclosure - LEASES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivable" xlink:title="00000010 - Disclosure - ACCOUNTS RECEIVABLE" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Inventories" xlink:title="00000011 - Disclosure - INVENTORIES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" xlink:title="00000012 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" xlink:title="00000013 - Disclosure - GOODWILL AND INTANGIBLE ASSETS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDeposits" xlink:title="00000014 - Disclosure - LONG TERM DEPOSITS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Investments" xlink:title="00000015 - Disclosure - INVESTMENTS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Short-termLineOfCredit" xlink:title="00000016 - Disclosure - SHORT-TERM LINE OF CREDIT" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebt" xlink:title="00000017 - Disclosure - LONG TERM DEBT" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptions" xlink:title="00000018 - Disclosure - STOCK OPTIONS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStock" xlink:title="00000019 - Disclosure - CAPITAL STOCK" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:title="00000020 - Disclosure - NON-CONTROLLING INTERESTS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:title="00000021 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ComparativeFigures" xlink:title="00000022 - Disclosure - COMPARATIVE FIGURES" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEvents" xlink:title="00000023 - Disclosure - SUBSEQUENT EVENTS" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:title="00000024 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:title="00000025 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LeasesTables" xlink:title="00000026 - Disclosure - LEASES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivableTables" xlink:title="00000027 - Disclosure - ACCOUNTS RECEIVABLE (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InventoriesTables" xlink:title="00000028 - Disclosure - INVENTORIES (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" xlink:title="00000029 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" xlink:title="00000030 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDepositsTables" xlink:title="00000031 - Disclosure - LONG TERM DEPOSITS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InvestmentsTables" xlink:title="00000032 - Disclosure - INVESTMENTS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebtTables" xlink:title="00000033 - Disclosure - LONG TERM DEBT (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptionsTables" xlink:title="00000034 - Disclosure - STOCK OPTIONS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:title="00000035 - Disclosure - NON-CONTROLLING INTERESTS (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:title="00000036 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:title="00000037 - Disclosure - BASIS OF PRESENTATION (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:title="00000038 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:title="00000039 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:title="00000040 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LeasesDetailsNarrative" xlink:title="00000041 - Disclosure - LEASES (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:title="00000042 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsAndNotesReceivableNet" xlink:label="loc_us-gaapAccountsAndNotesReceivableNet" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGross" xlink:label="loc_us-gaapAccountsReceivableGross" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccountsAndNotesReceivableNet" xlink:to="loc_us-gaapAccountsReceivableGross" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAccountsAndNotesReceivableNet" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:type="arc" weight="-1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:title="00000043 - Disclosure - SCHEDULE OF INVENTORY (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods" />
      <link:calculationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryFinishedGoods" xlink:type="arc" weight="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsAndSupplies" xlink:label="loc_us-gaapInventoryRawMaterialsAndSupplies" />
      <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapInventoryNet" xlink:to="loc_us-gaapInventoryRawMaterialsAndSupplies" xlink:type="arc" weight="1" />
    </link:calculationLink>
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:title="00000044 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:title="00000045 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:title="00000046 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:title="00000047 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:title="00000048 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:title="00000049 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:title="00000050 - Disclosure - SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:title="00000051 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:title="00000052 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InvestmentsDetailsNarrative" xlink:title="00000053 - Disclosure - INVESTMENTS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative" xlink:title="00000054 - Disclosure - SHORT-TERM LINE OF CREDIT (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" xlink:title="00000055 - Disclosure - SCHEDULE OF LOAN COVENANTS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" xlink:title="00000056 - Disclosure - SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative" xlink:title="00000057 - Disclosure - LONG TERM DEBT (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:title="00000058 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:title="00000059 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptionsDetailsNarrative" xlink:title="00000060 - Disclosure - STOCK OPTIONS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:title="00000061 - Disclosure - CAPITAL STOCK (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:title="00000062 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:title="00000063 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:title="00000064 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:title="00000065 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:title="00000066 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:title="00000067 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:title="00000068 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)" />
    <link:calculationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" xlink:title="00000069 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>7
<FILENAME>fsi-20240331_def.xml
<DESCRIPTION>XBRL DEFINITION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Cover" xlink:href="fsi-20240331.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets" xlink:href="fsi-20240331.xsd#InterimConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical" xlink:href="fsi-20240331.xsd#InterimConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" xlink:href="fsi-20240331.xsd#InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows" xlink:href="fsi-20240331.xsd#InterimConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity" xlink:href="fsi-20240331.xsd#InterimConsolidatedStatementsOfStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:href="fsi-20240331.xsd#BasisOfPresentation" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:href="fsi-20240331.xsd#SignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Leases" xlink:href="fsi-20240331.xsd#Leases" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivable" xlink:href="fsi-20240331.xsd#AccountsReceivable" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Inventories" xlink:href="fsi-20240331.xsd#Inventories" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" xlink:href="fsi-20240331.xsd#PropertyEquipmentAndLeaseholds" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" xlink:href="fsi-20240331.xsd#GoodwillAndIntangibleAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDeposits" xlink:href="fsi-20240331.xsd#LongTermDeposits" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Investments" xlink:href="fsi-20240331.xsd#Investments" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Short-termLineOfCredit" xlink:href="fsi-20240331.xsd#Short-termLineOfCredit" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebt" xlink:href="fsi-20240331.xsd#LongTermDebt" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptions" xlink:href="fsi-20240331.xsd#StockOptions" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStock" xlink:href="fsi-20240331.xsd#CapitalStock" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:href="fsi-20240331.xsd#Non-controllingInterests" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:href="fsi-20240331.xsd#SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ComparativeFigures" xlink:href="fsi-20240331.xsd#ComparativeFigures" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEvents" xlink:href="fsi-20240331.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:href="fsi-20240331.xsd#SignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:href="fsi-20240331.xsd#SignificantAccountingPoliciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LeasesTables" xlink:href="fsi-20240331.xsd#LeasesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivableTables" xlink:href="fsi-20240331.xsd#AccountsReceivableTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InventoriesTables" xlink:href="fsi-20240331.xsd#InventoriesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" xlink:href="fsi-20240331.xsd#PropertyEquipmentAndLeaseholdsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" xlink:href="fsi-20240331.xsd#GoodwillAndIntangibleAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDepositsTables" xlink:href="fsi-20240331.xsd#LongTermDepositsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InvestmentsTables" xlink:href="fsi-20240331.xsd#InvestmentsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebtTables" xlink:href="fsi-20240331.xsd#LongTermDebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptionsTables" xlink:href="fsi-20240331.xsd#StockOptionsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:href="fsi-20240331.xsd#Non-controllingInterestsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:href="fsi-20240331.xsd#SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:href="fsi-20240331.xsd#BasisOfPresentationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:href="fsi-20240331.xsd#ScheduleOfMethodOfDepreciationDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:href="fsi-20240331.xsd#SignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:href="fsi-20240331.xsd#SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LeasesDetailsNarrative" xlink:href="fsi-20240331.xsd#LeasesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:href="fsi-20240331.xsd#ScheduleOfAccountsReceivableDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:href="fsi-20240331.xsd#ScheduleOfInventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:href="fsi-20240331.xsd#PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:href="fsi-20240331.xsd#ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:href="fsi-20240331.xsd#GoodwillAndIntangibleAssetsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfLongTermDepositsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:href="fsi-20240331.xsd#ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:href="fsi-20240331.xsd#ScheduleOfEquityMethodInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:href="fsi-20240331.xsd#SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InvestmentsDetailsNarrative" xlink:href="fsi-20240331.xsd#InvestmentsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative" xlink:href="fsi-20240331.xsd#Short-termLineOfCreditDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfLoanCovenantsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" xlink:href="fsi-20240331.xsd#ScheduleOfOutstandingBalanceLoanDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative" xlink:href="fsi-20240331.xsd#LongTermDebtDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:href="fsi-20240331.xsd#ScheduleOfStockOptionActivitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptionsDetailsNarrative" xlink:href="fsi-20240331.xsd#StockOptionsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:href="fsi-20240331.xsd#CapitalStockDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfDistributionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:href="fsi-20240331.xsd#ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:href="fsi-20240331.xsd#Non-controllingInterestsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfReportableSegmentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:href="fsi-20240331.xsd#ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:href="fsi-20240331.xsd#ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:href="fsi-20240331.xsd#SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" xlink:href="fsi-20240331.xsd#SubsequentEventsDetailsNarrative" xlink:type="simple" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" arcroleURI="http://xbrl.org/int/dim/arcrole/all" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#notAll" arcroleURI="http://xbrl.org/int/dim/arcrole/notAll" />
    <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Cover" xlink:title="00000001 - Document - Cover" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets" xlink:title="00000002 - Statement - Condensed Interim Consolidated Balance Sheets" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical" xlink:title="00000003 - Statement - Condensed Interim Consolidated Balance Sheets (Parenthetical)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" xlink:title="00000004 - Statement - Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Loss) (Unaudited)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows" xlink:title="00000005 - Statement - Condensed Interim Consolidated Statements of Cash Flows (Unaudited)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity" xlink:title="00000006 - Statement - Condensed Interim Consolidated Statements of Stockholders&apos; Equity (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_CapitalInExcessOfParValueMember" xlink:label="loc_FSICapitalInExcessOfParValueMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_FSICapitalInExcessOfParValueMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapRetainedEarningsMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ParentMember" xlink:label="loc_us-gaapParentMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapParentMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="loc_us-gaapNoncontrollingInterestMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapNoncontrollingInterestMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_80" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding_80" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_80" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapProfitLoss_80" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueNewIssues_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueNewIssues_80" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_80" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_80" xlink:type="arc" order="7" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:title="00000007 - Disclosure - BASIS OF PRESENTATION" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:title="00000008 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Leases" xlink:title="00000009 - Disclosure - LEASES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivable" xlink:title="00000010 - Disclosure - ACCOUNTS RECEIVABLE" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Inventories" xlink:title="00000011 - Disclosure - INVENTORIES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" xlink:title="00000012 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" xlink:title="00000013 - Disclosure - GOODWILL AND INTANGIBLE ASSETS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDeposits" xlink:title="00000014 - Disclosure - LONG TERM DEPOSITS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Investments" xlink:title="00000015 - Disclosure - INVESTMENTS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Short-termLineOfCredit" xlink:title="00000016 - Disclosure - SHORT-TERM LINE OF CREDIT" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebt" xlink:title="00000017 - Disclosure - LONG TERM DEBT" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptions" xlink:title="00000018 - Disclosure - STOCK OPTIONS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStock" xlink:title="00000019 - Disclosure - CAPITAL STOCK" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:title="00000020 - Disclosure - NON-CONTROLLING INTERESTS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:title="00000021 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ComparativeFigures" xlink:title="00000022 - Disclosure - COMPARATIVE FIGURES" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEvents" xlink:title="00000023 - Disclosure - SUBSEQUENT EVENTS" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:title="00000024 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:title="00000025 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LeasesTables" xlink:title="00000026 - Disclosure - LEASES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivableTables" xlink:title="00000027 - Disclosure - ACCOUNTS RECEIVABLE (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InventoriesTables" xlink:title="00000028 - Disclosure - INVENTORIES (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" xlink:title="00000029 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" xlink:title="00000030 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDepositsTables" xlink:title="00000031 - Disclosure - LONG TERM DEPOSITS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InvestmentsTables" xlink:title="00000032 - Disclosure - INVESTMENTS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="loc_FSIEnpPeruInvestmentsLlcMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnpPeruInvestmentsLlcMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="loc_us-gaapEquityMethodInvestmentsTextBlock_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentsTextBlock_40" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnInvestmentsTextBlock" xlink:label="loc_us-gaapGainLossOnInvestmentsTextBlock_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGainLossOnInvestmentsTextBlock_40" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebtTables" xlink:title="00000033 - Disclosure - LONG TERM DEBT (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptionsTables" xlink:title="00000034 - Disclosure - STOCK OPTIONS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:title="00000035 - Disclosure - NON-CONTROLLING INTERESTS (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:title="00000036 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:title="00000037 - Disclosure - BASIS OF PRESENTATION (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtOwnershipAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPInvestmentsLLCAndENPMendotaMember" xlink:label="loc_FSIENPInvestmentsLLCAndENPMendotaMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCAndENPMendotaMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPPeruMember" xlink:label="loc_FSIENPPeruMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPPeruMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_UnrelatedPartyMember" xlink:label="loc_FSIUnrelatedPartyMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIUnrelatedPartyMember_20" xlink:type="arc" order="22" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:label="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_80" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_IncreaseDecreaseInSharePercentage" xlink:label="loc_FSIIncreaseDecreaseInSharePercentage_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIIncreaseDecreaseInSharePercentage_80" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_RemainingInvestmentOwnedPercentage" xlink:label="loc_FSIRemainingInvestmentOwnedPercentage_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIRemainingInvestmentOwnedPercentage_80" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByNoncontrollingOwners_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByNoncontrollingOwners_80" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:title="00000038 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="loc_us-gaapMachineryAndEquipmentMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapMachineryAndEquipmentMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OfficeEquipmentMember" xlink:label="loc_us-gaapOfficeEquipmentMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapOfficeEquipmentMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="loc_us-gaapBuildingAndBuildingImprovementsMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingAndBuildingImprovementsMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AutomobilesMember" xlink:label="loc_us-gaapAutomobilesMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapAutomobilesMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TechnologyEquipmentMember" xlink:label="loc_us-gaapTechnologyEquipmentMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapTechnologyEquipmentMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaapCustomerRelationshipsMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapCustomerRelationshipsMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_DepreciationMethodUsedAndAnnualRate" xlink:label="loc_FSIDepreciationMethodUsedAndAnnualRate_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_FSIDepreciationMethodUsedAndAnnualRate_80" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:title="00000039 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductInformationLineItems" xlink:label="loc_us-gaapProductInformationLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="loc_us-gaapScheduleOfProductInformationTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapScheduleOfProductInformationTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="loc_us-gaapShortTermDebtTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapShortTermDebtTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapShortTermDebtTypeAxis" xlink:to="loc_us-gaapShortTermDebtTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShortTermDebtTypeAxis" xlink:to="loc_us-gaapShortTermDebtTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_FirstTermMember" xlink:label="loc_FSIFirstTermMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSIFirstTermMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SecondTermMember" xlink:label="loc_FSISecondTermMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSISecondTermMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ThirdTermMember" xlink:label="loc_FSIThirdTermMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSIThirdTermMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_FourthTermMember" xlink:label="loc_FSIFourthTermMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSIFourthTermMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_FifthTermMember" xlink:label="loc_FSIFifthTermMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSIFifthTermMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtProductOrServiceAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="loc_us-gaapShippingAndHandlingMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_us-gaapShippingAndHandlingMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ThreePrimaryCustomersMember" xlink:label="loc_FSIThreePrimaryCustomersMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_FSIThreePrimaryCustomersMember_70" xlink:type="arc" order="71" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerMember" xlink:label="loc_us-gaapRevenueFromContractWithCustomerMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapRevenueFromContractWithCustomerMember_70" xlink:type="arc" order="72" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember_90" xlink:type="arc" order="92" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_InvestmentMember" xlink:label="loc_FSIInvestmentMember_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIInvestmentMember_110" xlink:type="arc" order="111" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Deposits" xlink:label="loc_us-gaapDeposits_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapDeposits_130" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_130" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_MinimumInterestPenalty" xlink:label="loc_FSIMinimumInterestPenalty_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_FSIMinimumInterestPenalty_130" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_130" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold_130" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ConcentrationRiskThresholdPercentage" xlink:label="loc_FSIConcentrationRiskThresholdPercentage_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_FSIConcentrationRiskThresholdPercentage_130" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities" xlink:label="loc_us-gaapEquityMethodInvestmentDescriptionOfPrincipalActivities_130" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentDescriptionOfPrincipalActivities_130" xlink:type="arc" order="6" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:title="00000040 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LeasesDetailsNarrative" xlink:title="00000041 - Disclosure - LEASES (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:title="00000042 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:title="00000043 - Disclosure - SCHEDULE OF INVENTORY (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:title="00000044 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="loc_us-gaapBuildingAndBuildingImprovementsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingAndBuildingImprovementsMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AutomobilesMember" xlink:label="loc_us-gaapAutomobilesMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapAutomobilesMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OfficeEquipmentMember" xlink:label="loc_us-gaapOfficeEquipmentMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapOfficeEquipmentMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="loc_us-gaapMachineryAndEquipmentMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapMachineryAndEquipmentMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LandMember" xlink:label="loc_us-gaapLandMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLandMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaapDevelopedTechnologyRightsMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapDevelopedTechnologyRightsMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross_170" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_170" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet_170" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet_170" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:title="00000045 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:title="00000046 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EnPInvestmentsCorporationLLCMember" xlink:label="loc_FSIEnPInvestmentsCorporationLLCMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnPInvestmentsCorporationLLCMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGoodwill_90" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill_90" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsNet_90" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets_90" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:title="00000047 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:label="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:label="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="loc_us-gaapFairValueByAssetClassAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" xlink:to="loc_us-gaapFairValueByAssetClassAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFairValueByAssetClassAxis" xlink:to="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapFairValueByAssetClassAxis" xlink:to="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMember" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_20" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_20" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_20" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree_20" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour_20" xlink:type="arc" order="4" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:title="00000048 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Narrative)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:title="00000049 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:title="00000050 - Disclosure - SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:title="00000051 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="loc_FSIEnpPeruInvestmentsLlcMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnpPeruInvestmentsLlcMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestments_100" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EquityMethodInvestmentReturnOfEquity" xlink:label="loc_FSIEquityMethodInvestmentReturnOfEquity_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIEquityMethodInvestmentReturnOfEquity_100" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="loc_us-gaapEquityMethodInvestmentRealizedGainLossOnDisposal_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentRealizedGainLossOnDisposal_100" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_InvestmentEliminatedUponConsolidation" xlink:label="loc_FSIInvestmentEliminatedUponConsolidation_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIInvestmentEliminatedUponConsolidation_100" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:title="00000052 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InvestmentsDetailsNarrative" xlink:title="00000053 - Disclosure - INVESTMENTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="loc_FSIEnpPeruInvestmentsLlcMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIEnpPeruInvestmentsLlcMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_NanoChemMember" xlink:label="loc_FSINanoChemMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSINanoChemMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIENPInvestmentsLLCMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_180" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIFloridaBasedLLCMember_180" xlink:type="arc" order="181" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_srtOwnershipAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPPeruMember" xlink:label="loc_FSIENPPeruMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPPeruMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EnpnvestmentsLlcMember" xlink:label="loc_FSIEnpnvestmentsLlcMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIEnpnvestmentsLlcMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_AppliedHoldingCorpMember" xlink:label="loc_FSIAppliedHoldingCorpMember_90" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIAppliedHoldingCorpMember_90" xlink:type="arc" order="91" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_TrioOpportunityCorpMember" xlink:label="loc_FSITrioOpportunityCorpMember_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSITrioOpportunityCorpMember_140" xlink:type="arc" order="141" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_190" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember_190" xlink:type="arc" order="191" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_LygosIncMember" xlink:label="loc_FSILygosIncMember_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSILygosIncMember_230" xlink:type="arc" order="231" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonClassBMember" xlink:label="loc_us-gaapCommonClassBMember_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassBMember_160" xlink:type="arc" order="161" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="loc_us-gaapEquityMethodInvestmentOwnershipPercentage_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentOwnershipPercentage_270" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" xlink:label="loc_FSIAdditionalEquityMethodInvestmentOwnershipPercentage_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_FSIAdditionalEquityMethodInvestmentOwnershipPercentage_270" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaapBusinessCombinationConsiderationTransferred1_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapBusinessCombinationConsiderationTransferred1_270" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapCash_270" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByNoncontrollingOwners_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByNoncontrollingOwners_270" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Investments" xlink:label="loc_us-gaapInvestments_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapInvestments_270" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_DebtInstrumentMaturityMonthYear" xlink:label="loc_FSIDebtInstrumentMaturityMonthYear_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_FSIDebtInstrumentMaturityMonthYear_270" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_270" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharePrice" xlink:label="loc_us-gaapSharePrice_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapSharePrice_270" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapRevenues_270" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapAccountsReceivableNet_270" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaapPaymentsToAcquireInvestments_270" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapPaymentsToAcquireInvestments_270" xlink:type="arc" order="11" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative" xlink:title="00000054 - Disclosure - SHORT-TERM LINE OF CREDIT (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="loc_us-gaapLineOfCreditFacilityLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="loc_us-gaapLineOfCreditFacilityTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="loc_us-gaapLineOfCreditFacilityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapLineOfCreditFacilityAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="loc_us-gaapLineOfCreditFacilityLenderDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapLineOfCreditFacilityAxis" xlink:to="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="loc_us-gaapLineOfCreditFacilityLenderDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapLineOfCreditFacilityAxis" xlink:to="loc_us-gaapLineOfCreditFacilityLenderDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardAndBankMember" xlink:label="loc_FSIStockYardAndBankMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:to="loc_FSIStockYardAndBankMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockBankMember" xlink:label="loc_FSIStockBankMember_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:to="loc_FSIStockBankMember_70" xlink:type="arc" order="71" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_MidlandStatesBankMember" xlink:label="loc_FSIMidlandStatesBankMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIMidlandStatesBankMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_NewAgreementMember" xlink:label="loc_FSINewAgreementMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSINewAgreementMember_0" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_NanoChemSolutionIncMember" xlink:label="loc_FSINanoChemSolutionIncMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemSolutionIncMember_40" xlink:type="arc" order="42" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="loc_us-gaapNoncontrollingInterestMember_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapNoncontrollingInterestMember_50" xlink:type="arc" order="51" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="loc_us-gaapCreditFacilityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapCreditFacilityAxis" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaapCreditFacilityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapCreditFacilityAxis" xlink:to="loc_us-gaapCreditFacilityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaapCreditFacilityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapCreditFacilityAxis" xlink:to="loc_us-gaapCreditFacilityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="loc_us-gaapRevolvingCreditFacilityMember_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapCreditFacilityDomain" xlink:to="loc_us-gaapRevolvingCreditFacilityMember_110" xlink:type="arc" order="114" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityCurrentBorrowingCapacity_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityCurrentBorrowingCapacity_140" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity_140" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_PercentageOfForeignAccountsReceivableOfInventory" xlink:label="loc_FSIPercentageOfForeignAccountsReceivableOfInventory_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSIPercentageOfForeignAccountsReceivableOfInventory_140" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaapDebtInstrumentFaceAmount_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentFaceAmount_140" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_140" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_LoanGuaranteedRate" xlink:label="loc_FSILoanGuaranteedRate_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSILoanGuaranteedRate_140" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLinesOfCreditCurrent_140" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermBorrowings" xlink:label="loc_us-gaapShortTermBorrowings_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapShortTermBorrowings_140" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EligiblePercentageOfDomesticAccountsReceivable" xlink:label="loc_FSIEligiblePercentageOfDomesticAccountsReceivable_140" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSIEligiblePercentageOfDomesticAccountsReceivable_140" xlink:type="arc" order="8" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" xlink:title="00000055 - Disclosure - SCHEDULE OF LOAN COVENANTS (Details)" />
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" xlink:title="00000056 - Disclosure - SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardsBankTrustMember" xlink:label="loc_FSIStockYardsBankTrustMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardsBankTrustOneMember" xlink:label="loc_FSIStockYardsBankTrustOneMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustOneMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardsBankTrustTwoMember" xlink:label="loc_FSIStockYardsBankTrustTwoMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustTwoMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardsBankTrustThreeMember" xlink:label="loc_FSIStockYardsBankTrustThreeMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustThreeMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardsBankTrustFourMember" xlink:label="loc_FSIStockYardsBankTrustFourMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustFourMember_80" xlink:type="arc" order="81" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardsBankTrustFiveMember" xlink:label="loc_FSIStockYardsBankTrustFiveMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustFiveMember_100" xlink:type="arc" order="101" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaapLongTermDebt_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapLongTermDebt_150" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtCurrent" xlink:label="loc_us-gaapLongTermDebtCurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapLongTermDebtCurrent_150" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapLongTermDebtNoncurrent_150" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative" xlink:title="00000057 - Disclosure - LONG TERM DEBT (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtLineItems" xlink:label="loc_us-gaapShortTermDebtLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShortTermDebtTable" xlink:label="loc_us-gaapScheduleOfShortTermDebtTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapScheduleOfShortTermDebtTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaapDebtInstrumentAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapDebtInstrumentAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_TermLoanMember" xlink:label="loc_FSITermLoanMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_FSITermLoanMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_MidlandBankMember" xlink:label="loc_FSIMidlandBankMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIMidlandBankMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardsBankTrustMember" xlink:label="loc_FSIStockYardsBankTrustMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_deiLegalEntityAxis" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPMendotaMember" xlink:label="loc_FSIENPMendotaMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPMendotaMember_0" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EnpRealtyLLCMember" xlink:label="loc_FSIEnpRealtyLLCMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnpRealtyLLCMember_10" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_NanoChemMember" xlink:label="loc_FSINanoChemMember_80" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemMember_80" xlink:type="arc" order="83" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPPeruInvestmentsMember" xlink:label="loc_FSIENPPeruInvestmentsMember_100" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPPeruInvestmentsMember_100" xlink:type="arc" order="103" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPPeruOneMember" xlink:label="loc_FSIENPPeruOneMember_150" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPPeruOneMember_150" xlink:type="arc" order="153" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_MendotaMember" xlink:label="loc_FSIMendotaMember_330" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIMendotaMember_330" xlink:type="arc" order="332" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateAxis" xlink:label="loc_us-gaapVariableRateAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapVariableRateAxis" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateDomain" xlink:label="loc_us-gaapVariableRateDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapVariableRateAxis" xlink:to="loc_us-gaapVariableRateDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateDomain" xlink:label="loc_us-gaapVariableRateDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapVariableRateAxis" xlink:to="loc_us-gaapVariableRateDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrimeRateMember" xlink:label="loc_us-gaapPrimeRateMember_230" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapVariableRateDomain" xlink:to="loc_us-gaapPrimeRateMember_230" xlink:type="arc" order="233" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaapDebtInstrumentFaceAmount_390" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentFaceAmount_390" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTerm" xlink:label="loc_us-gaapDebtInstrumentTerm_390" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentTerm_390" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_390" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage_390" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseDebt" xlink:label="loc_us-gaapInterestExpenseDebt_390" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapInterestExpenseDebt_390" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDefaultLongtermDebtAmount" xlink:label="loc_us-gaapDebtDefaultLongtermDebtAmount_390" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtDefaultLongtermDebtAmount_390" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LoansPayable" xlink:label="loc_us-gaapLoansPayable_390" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapLoansPayable_390" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense_390" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapInterestExpense_390" xlink:type="arc" order="6" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:title="00000058 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_160" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_160" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_160" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_160" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_160" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_160" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_160" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_160" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_160" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_160" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_160" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_160" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_160" xlink:type="arc" order="15" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_160" xlink:type="arc" order="16" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_160" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_160" xlink:type="arc" order="17" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:title="00000059 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_40" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_40" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_40" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_40" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptionsDetailsNarrative" xlink:title="00000060 - Disclosure - STOCK OPTIONS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtTitleOfIndividualAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ConsultantsMember" xlink:label="loc_FSIConsultantsMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIConsultantsMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EmployeesMember" xlink:label="loc_FSIEmployeesMember_30" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIEmployeesMember_30" xlink:type="arc" order="31" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="loc_us-gaapCanadaRevenueAgencyMember_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapCanadaRevenueAgencyMember_60" xlink:type="arc" order="61" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_110" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_110" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_110" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_110" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_110" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaapStockOptionPlanExpense_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockOptionPlanExpense_110" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_AdditionalExpensesDueToOptionsGranted" xlink:label="loc_FSIAdditionalExpensesDueToOptionsGranted_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIAdditionalExpensesDueToOptionsGranted_110" xlink:type="arc" order="6" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_110" xlink:type="arc" order="7" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_110" xlink:type="arc" order="8" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_110" xlink:type="arc" order="9" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_110" xlink:type="arc" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_110" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_110" xlink:type="arc" order="11" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:title="00000061 - Disclosure - CAPITAL STOCK (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised_50" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices_50" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices_50" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableAmountPerShare" xlink:label="loc_us-gaapDividendsPayableAmountPerShare_50" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapDividendsPayableAmountPerShare_50" xlink:type="arc" order="3" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:title="00000062 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_OwnershipInterestPurchaseAgreementMember" xlink:label="loc_FSIOwnershipInterestPurchaseAgreementMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSIOwnershipInterestPurchaseAgreementMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest_60" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_60" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest_60" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:title="00000063 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_OwnershipInterestPurchaseAgreementMember" xlink:label="loc_FSIOwnershipInterestPurchaseAgreementMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSIOwnershipInterestPurchaseAgreementMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest_60" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates" xlink:label="loc_us-gaapPaymentsToAcquireBusinessesAndInterestInAffiliates_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapPaymentsToAcquireBusinessesAndInterestInAffiliates_60" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:label="loc_us-gaapNoncontrollingInterestDecreaseFromDeconsolidation_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapNoncontrollingInterestDecreaseFromDeconsolidation_60" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:title="00000064 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember_40" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember_40" xlink:type="arc" order="41" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:label="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_70" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByParent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByParent_70" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="loc_us-gaapPaymentsToMinorityShareholders_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapPaymentsToMinorityShareholders_70" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapRevenues_70" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapAccountsReceivableNetCurrent_70" xlink:type="arc" order="4" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:title="00000065 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="loc_srtProductOrServiceAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EWCPMember" xlink:label="loc_FSIEWCPMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_FSIEWCPMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_BCPAMember" xlink:label="loc_FSIBCPAMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_FSIBCPAMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaapStatementBusinessSegmentsAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="loc_us-gaapStatementBusinessSegmentsAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SegmentMember" xlink:label="loc_FSISegmentMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_FSISegmentMember_0" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_70" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapInterestExpense_70" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationNonproduction" xlink:label="loc_us-gaapDepreciationNonproduction_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapDepreciationNonproduction_70" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit_70" xlink:type="arc" order="3" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapNetIncomeLoss_70" xlink:type="arc" order="4" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SegmentAssets" xlink:label="loc_FSISegmentAssets_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_FSISegmentAssets_70" xlink:type="arc" order="5" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment_70" xlink:type="arc" order="6" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:title="00000066 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_srtStatementGeographicalAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="loc_countryCA_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryCA_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_UnitedStatesandAbroadMember" xlink:label="loc_FSIUnitedStatesandAbroadMember_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_FSIUnitedStatesandAbroadMember_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_70" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:title="00000067 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_srtStatementGeographicalAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="loc_countryCA_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryCA_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="loc_countryUS_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryUS_20" xlink:type="arc" order="21" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncurrentAssets" xlink:label="loc_us-gaapNoncurrentAssets_70" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapNoncurrentAssets_70" xlink:type="arc" order="0" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:title="00000068 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:label="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember_10" xlink:type="arc" order="11" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="loc_srtMajorCustomersAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="loc_srtMajorCustomersAxis" xlink:type="arc" order="2" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ThreeCustomersMember" xlink:label="loc_FSIThreeCustomersMember_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_FSIThreeCustomersMember_10" xlink:type="arc" order="12" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="loc_us-gaapNumberOfOperatingSegments_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapNumberOfOperatingSegments_60" xlink:type="arc" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapAccountsReceivableNet_60" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockOptionExercisePercent" xlink:label="loc_FSIStockOptionExercisePercent_60" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_FSIStockOptionExercisePercent_60" xlink:type="arc" order="2" />
    </link:definitionLink>
    <link:definitionLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" xlink:title="00000069 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaapSubsequentEventLineItems" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaapSubsequentEventTable" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xbrldt:contextElement="segment" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapSubsequentEventTable" xlink:type="arc" order="10" xbrldt:closed="true" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaapSubsequentEventTypeAxis" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapSubsequentEventTypeAxis" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain" xlink:type="arc" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain_10" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xbrldt:contextElement="segment" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain_10" xlink:type="arc" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaapSubsequentEventMember_0" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventTypeDomain" xlink:to="loc_us-gaapSubsequentEventMember_0" xlink:type="arc" order="1" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableAmountPerShare" xlink:label="loc_us-gaapDividendsPayableAmountPerShare_20" />
      <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapDividendsPayableAmountPerShare_20" xlink:type="arc" order="0" />
    </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>8
<FILENAME>fsi-20240331_lab.xml
<DESCRIPTION>XBRL LABEL FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
    <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US">Equity Components [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US">Common Stock [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_CapitalInExcessOfParValueMember" xlink:label="FSI_CapitalInExcessOfParValueMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_CapitalInExcessOfParValueMember" xlink:to="FSI_CapitalInExcessOfParValueMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_CapitalInExcessOfParValueMember_lbl" xml:lang="en-US">Capital in Excess of Par Value [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US">Retained Earnings [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ParentMember" xlink:to="us-gaap_ParentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ParentMember_lbl" xml:lang="en-US">Parent [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestMember" xlink:to="us-gaap_NoncontrollingInterestMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestMember_lbl" xml:lang="en-US">Noncontrolling Interest [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_OwnershipAxis" xlink:to="srt_OwnershipAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_OwnershipAxis_lbl" xml:lang="en-US">Ownership [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_MendotaLLCMember" xlink:label="FSI_MendotaLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MendotaLLCMember" xlink:to="FSI_MendotaLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_MendotaLLCMember_lbl" xml:lang="en-US">317 Mendota LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPInvestmentsLLCAndENPMendotaMember" xlink:label="FSI_ENPInvestmentsLLCAndENPMendotaMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPInvestmentsLLCAndENPMendotaMember" xlink:to="FSI_ENPInvestmentsLLCAndENPMendotaMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPInvestmentsLLCAndENPMendotaMember_lbl" xml:lang="en-US">ENP Investments LLC and ENP Mendota [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPPeruMember" xlink:label="FSI_ENPPeruMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruMember" xlink:to="FSI_ENPPeruMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPPeruMember_lbl" xml:lang="en-US">ENP Peru [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xml:lang="en-US">Related and Nonrelated Parties [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_UnrelatedPartyMember" xlink:label="FSI_UnrelatedPartyMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_UnrelatedPartyMember" xlink:to="FSI_UnrelatedPartyMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_UnrelatedPartyMember_lbl" xml:lang="en-US">Unrelated Party [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermDebtTypeAxis_lbl" xml:lang="en-US">Short-Term Debt, Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_FirstTermMember" xlink:label="FSI_FirstTermMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FirstTermMember" xlink:to="FSI_FirstTermMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_FirstTermMember_lbl" xml:lang="en-US">First Term [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SecondTermMember" xlink:label="FSI_SecondTermMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SecondTermMember" xlink:to="FSI_SecondTermMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SecondTermMember_lbl" xml:lang="en-US">Second Term [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ThirdTermMember" xlink:label="FSI_ThirdTermMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThirdTermMember" xlink:to="FSI_ThirdTermMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ThirdTermMember_lbl" xml:lang="en-US">Third Term [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_FourthTermMember" xlink:label="FSI_FourthTermMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FourthTermMember" xlink:to="FSI_FourthTermMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_FourthTermMember_lbl" xml:lang="en-US">Fourth Term [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_FifthTermMember" xlink:label="FSI_FifthTermMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FifthTermMember" xlink:to="FSI_FifthTermMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_FifthTermMember_lbl" xml:lang="en-US">Fifth Term [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductOrServiceAxis_lbl" xml:lang="en-US">Product and Service [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="us-gaap_ShippingAndHandlingMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShippingAndHandlingMember" xlink:to="us-gaap_ShippingAndHandlingMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShippingAndHandlingMember_lbl" xml:lang="en-US">Shipping and Handling [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ThreePrimaryCustomersMember" xlink:label="FSI_ThreePrimaryCustomersMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThreePrimaryCustomersMember" xlink:to="FSI_ThreePrimaryCustomersMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ThreePrimaryCustomersMember_lbl" xml:lang="en-US">Three Primary Customers [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerMember" xlink:label="us-gaap_RevenueFromContractWithCustomerMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerMember" xlink:to="us-gaap_RevenueFromContractWithCustomerMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerMember_lbl" xml:lang="en-US">Revenue from Contract with Customer Benchmark [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableMember_lbl" xml:lang="en-US">Accounts Receivable [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_lbl" xml:lang="en-US">Investment, Name [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_InvestmentMember" xlink:label="FSI_InvestmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestmentMember" xlink:to="FSI_InvestmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_InvestmentMember_lbl" xml:lang="en-US">Investment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl" xml:lang="en-US">Machinery and Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OfficeEquipmentMember" xlink:label="us-gaap_OfficeEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OfficeEquipmentMember" xlink:to="us-gaap_OfficeEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OfficeEquipmentMember_lbl" xml:lang="en-US">Office Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingAndBuildingImprovementsMember" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember_lbl" xml:lang="en-US">Building and Building Improvements [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AutomobilesMember" xlink:label="us-gaap_AutomobilesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AutomobilesMember" xlink:to="us-gaap_AutomobilesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AutomobilesMember_lbl" xml:lang="en-US">Automobiles [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TechnologyEquipmentMember" xlink:label="us-gaap_TechnologyEquipmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TechnologyEquipmentMember" xlink:to="us-gaap_TechnologyEquipmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TechnologyEquipmentMember_lbl" xml:lang="en-US">Technology Equipment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerRelationshipsMember" xlink:to="us-gaap_CustomerRelationshipsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xml:lang="en-US">Customer Relationships [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LandMember" xlink:to="us-gaap_LandMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LandMember_lbl" xml:lang="en-US">Land [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DevelopedTechnologyRightsMember" xlink:to="us-gaap_DevelopedTechnologyRightsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xml:lang="en-US">Developed Technology Rights [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LegalEntityAxis" xlink:to="dei_LegalEntityAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LegalEntityAxis_lbl" xml:lang="en-US">Legal Entity [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EnPInvestmentsCorporationLLCMember" xlink:label="FSI_EnPInvestmentsCorporationLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnPInvestmentsCorporationLLCMember" xlink:to="FSI_EnPInvestmentsCorporationLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EnPInvestmentsCorporationLLCMember_lbl" xml:lang="en-US">ENP Investments Limited Liability Corporation (LLC) [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="us-gaap_FairValueByAssetClassAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueByAssetClassAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByAssetClassAxis_lbl" xml:lang="en-US">Asset Class [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMember" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMember" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMember_lbl" xml:lang="en-US">Finite-Lived Intangible Assets [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="FSI_EnpPeruInvestmentsLlcMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnpPeruInvestmentsLlcMember" xlink:to="FSI_EnpPeruInvestmentsLlcMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EnpPeruInvestmentsLlcMember_lbl" xml:lang="en-US">ENP Peru Investments LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_NanoChemMember" xlink:label="FSI_NanoChemMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemMember" xlink:to="FSI_NanoChemMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_NanoChemMember_lbl" xml:lang="en-US">Nano Chem [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="FSI_ENPInvestmentsLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPInvestmentsLLCMember" xlink:to="FSI_ENPInvestmentsLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPInvestmentsLLCMember_lbl" xml:lang="en-US">ENP Investments, LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EnpnvestmentsLlcMember" xlink:label="FSI_EnpnvestmentsLlcMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnpnvestmentsLlcMember" xlink:to="FSI_EnpnvestmentsLlcMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EnpnvestmentsLlcMember_lbl" xml:lang="en-US">ENP Investments LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_AppliedHoldingCorpMember" xlink:label="FSI_AppliedHoldingCorpMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_AppliedHoldingCorpMember" xlink:to="FSI_AppliedHoldingCorpMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_AppliedHoldingCorpMember_lbl" xml:lang="en-US">Applied Holding Corp [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_TrioOpportunityCorpMember" xlink:label="FSI_TrioOpportunityCorpMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TrioOpportunityCorpMember" xlink:to="FSI_TrioOpportunityCorpMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TrioOpportunityCorpMember_lbl" xml:lang="en-US">Trio Opportunity Corp [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementClassOfStockAxis" xlink:to="us-gaap_StatementClassOfStockAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementClassOfStockAxis_lbl" xml:lang="en-US">Class of Stock [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonClassBMember" xlink:label="us-gaap_CommonClassBMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonClassBMember" xlink:to="us-gaap_CommonClassBMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonClassBMember_lbl" xml:lang="en-US">Common Class B [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_FloridaBasedLLCMember" xlink:label="FSI_FloridaBasedLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FloridaBasedLLCMember" xlink:to="FSI_FloridaBasedLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_FloridaBasedLLCMember_lbl" xml:lang="en-US">Florida Based LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_LygosIncMember" xlink:label="FSI_LygosIncMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LygosIncMember" xlink:to="FSI_LygosIncMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LygosIncMember_lbl" xml:lang="en-US">Lygos Inc [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityAxis_lbl" xml:lang="en-US">Lender Name [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardAndBankMember" xlink:label="FSI_StockYardAndBankMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardAndBankMember" xlink:to="FSI_StockYardAndBankMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardAndBankMember_lbl" xml:lang="en-US">Stock Yard And Bank One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_MidlandStatesBankMember" xlink:label="FSI_MidlandStatesBankMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MidlandStatesBankMember" xlink:to="FSI_MidlandStatesBankMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_MidlandStatesBankMember_lbl" xml:lang="en-US">Midland States Bank [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_TypeOfArrangementAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TypeOfArrangementAxis_lbl" xml:lang="en-US">Collaborative Arrangement and Arrangement Other than Collaborative [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_NewAgreementMember" xlink:label="FSI_NewAgreementMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NewAgreementMember" xlink:to="FSI_NewAgreementMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_NewAgreementMember_lbl" xml:lang="en-US">New Agreement [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_NanoChemSolutionIncMember" xlink:label="FSI_NanoChemSolutionIncMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemSolutionIncMember" xlink:to="FSI_NanoChemSolutionIncMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_NanoChemSolutionIncMember_lbl" xml:lang="en-US">NanoChem Solutions Inc [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockBankMember" xlink:label="FSI_StockBankMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockBankMember" xlink:to="FSI_StockBankMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockBankMember_lbl" xml:lang="en-US">Stock Bank [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityAxis_lbl" xml:lang="en-US">Credit Facility [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevolvingCreditFacilityMember" xlink:to="us-gaap_RevolvingCreditFacilityMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevolvingCreditFacilityMember_lbl" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentAxis_lbl" xml:lang="en-US">Debt Instrument [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_TermLoanMember" xlink:label="FSI_TermLoanMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TermLoanMember" xlink:to="FSI_TermLoanMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TermLoanMember_lbl" xml:lang="en-US">Term Loan [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_MidlandBankMember" xlink:label="FSI_MidlandBankMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MidlandBankMember" xlink:to="FSI_MidlandBankMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_MidlandBankMember_lbl" xml:lang="en-US">Midland Bank [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPMendotaMember" xlink:label="FSI_ENPMendotaMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPMendotaMember" xlink:to="FSI_ENPMendotaMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPMendotaMember_lbl" xml:lang="en-US">ENP Mendota, LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardsBankTrustMember" xlink:label="FSI_StockYardsBankTrustMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustMember" xlink:to="FSI_StockYardsBankTrustMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardsBankTrustMember_lbl" xml:lang="en-US">Stock Yards Bank and Trust [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EnpRealtyLLCMember" xlink:label="FSI_EnpRealtyLLCMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnpRealtyLLCMember" xlink:to="FSI_EnpRealtyLLCMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EnpRealtyLLCMember_lbl" xml:lang="en-US">ENP Realty LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPPeruInvestmentsMember" xlink:label="FSI_ENPPeruInvestmentsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruInvestmentsMember" xlink:to="FSI_ENPPeruInvestmentsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPPeruInvestmentsMember_lbl" xml:lang="en-US">ENP Peru Investments [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPPeruOneMember" xlink:label="FSI_ENPPeruOneMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruOneMember" xlink:to="FSI_ENPPeruOneMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ENPPeruOneMember_lbl" xml:lang="en-US">ENP Peru One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableRateAxis_lbl" xml:lang="en-US">Variable Rate [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrimeRateMember" xlink:label="us-gaap_PrimeRateMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrimeRateMember" xlink:to="us-gaap_PrimeRateMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrimeRateMember_lbl" xml:lang="en-US">Prime Rate [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_MendotaMember" xlink:label="FSI_MendotaMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MendotaMember" xlink:to="FSI_MendotaMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_MendotaMember_lbl" xml:lang="en-US">Mendota [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardsBankTrustOneMember" xlink:label="FSI_StockYardsBankTrustOneMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustOneMember" xlink:to="FSI_StockYardsBankTrustOneMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardsBankTrustOneMember_lbl" xml:lang="en-US">Stock Yards Bank and Trust One [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardsBankTrustTwoMember" xlink:label="FSI_StockYardsBankTrustTwoMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustTwoMember" xlink:to="FSI_StockYardsBankTrustTwoMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardsBankTrustTwoMember_lbl" xml:lang="en-US">Stock Yards Bank and Trust Two [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardsBankTrustThreeMember" xlink:label="FSI_StockYardsBankTrustThreeMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustThreeMember" xlink:to="FSI_StockYardsBankTrustThreeMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardsBankTrustThreeMember_lbl" xml:lang="en-US">Stock Yards Bank and Trust Three [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardsBankTrustFourMember" xlink:label="FSI_StockYardsBankTrustFourMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustFourMember" xlink:to="FSI_StockYardsBankTrustFourMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardsBankTrustFourMember_lbl" xml:lang="en-US">Stock Yards Bank and Trust Four [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardsBankTrustFiveMember" xlink:label="FSI_StockYardsBankTrustFiveMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustFiveMember" xlink:to="FSI_StockYardsBankTrustFiveMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockYardsBankTrustFiveMember_lbl" xml:lang="en-US">Stock Yards Bank and Trust Five [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualAxis_lbl" xml:lang="en-US">Title and Position [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ConsultantsMember" xlink:label="FSI_ConsultantsMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConsultantsMember" xlink:to="FSI_ConsultantsMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ConsultantsMember_lbl" xml:lang="en-US">Consultants [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EmployeesMember" xlink:label="FSI_EmployeesMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EmployeesMember" xlink:to="FSI_EmployeesMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EmployeesMember_lbl" xml:lang="en-US">Employees [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="us-gaap_IncomeTaxAuthorityNameAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityNameAxis" xlink:to="us-gaap_IncomeTaxAuthorityNameAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityNameAxis_lbl" xml:lang="en-US">Income Tax Authority, Name [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="us-gaap_CanadaRevenueAgencyMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CanadaRevenueAgencyMember" xlink:to="us-gaap_CanadaRevenueAgencyMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CanadaRevenueAgencyMember_lbl" xml:lang="en-US">Canada Revenue Agency [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeAxis_lbl" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US">Minimum [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US">Maximum [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AwardTypeAxis_lbl" xml:lang="en-US">Award Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockOptionMember" xlink:to="us-gaap_EmployeeStockOptionMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeStockOptionMember_lbl" xml:lang="en-US">Share-Based Payment Arrangement, Option [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_OwnershipInterestPurchaseAgreementMember" xlink:label="FSI_OwnershipInterestPurchaseAgreementMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OwnershipInterestPurchaseAgreementMember" xlink:to="FSI_OwnershipInterestPurchaseAgreementMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_OwnershipInterestPurchaseAgreementMember_lbl" xml:lang="en-US">Ownership Interest Purchase Agreement [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MajorCustomersAxis_lbl" xml:lang="en-US">Customer [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ThreeCustomersMember" xlink:label="FSI_ThreeCustomersMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThreeCustomersMember" xlink:to="FSI_ThreeCustomersMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ThreeCustomersMember_lbl" xml:lang="en-US">Three Customers [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EWCPMember" xlink:label="FSI_EWCPMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EWCPMember" xlink:to="FSI_EWCPMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EWCPMember_lbl" xml:lang="en-US">EWCP [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_StatementBusinessSegmentsAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementBusinessSegmentsAxis_lbl" xml:lang="en-US">Segments [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SegmentMember" xlink:label="FSI_SegmentMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SegmentMember" xlink:to="FSI_SegmentMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SegmentMember_lbl" xml:lang="en-US">Segment [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_BCPAMember" xlink:label="FSI_BCPAMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BCPAMember" xlink:to="FSI_BCPAMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_BCPAMember_lbl" xml:lang="en-US">BCPA [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementGeographicalAxis_lbl" xml:lang="en-US">Geographical [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="country_CA" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CA" xlink:to="country_CA_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_CA_lbl" xml:lang="en-US">CANADA</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_UnitedStatesandAbroadMember" xlink:label="FSI_UnitedStatesandAbroadMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_UnitedStatesandAbroadMember" xlink:to="FSI_UnitedStatesandAbroadMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_UnitedStatesandAbroadMember_lbl" xml:lang="en-US">United States and Abroad [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_US_lbl" xml:lang="en-US">UNITED STATES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeAxis_lbl" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventMember_lbl" xml:lang="en-US">Subsequent Event [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Cover [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentDescription" xlink:label="dei_AmendmentDescription" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentDescription" xlink:to="dei_AmendmentDescription_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentDescription_lbl" xml:lang="en-US">Amendment Description</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentRegistrationStatement" xlink:to="dei_DocumentRegistrationStatement_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentRegistrationStatement_lbl" xml:lang="en-US">Document Registration Statement</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAnnualReport_lbl" xml:lang="en-US">Document Annual Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US">Document Quarterly Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US">Document Transition Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyReport" xlink:to="dei_DocumentShellCompanyReport_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyReport_lbl" xml:lang="en-US">Document Shell Company Report</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentShellCompanyEventDate" xlink:label="dei_DocumentShellCompanyEventDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyEventDate" xlink:to="dei_DocumentShellCompanyEventDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyEventDate_lbl" xml:lang="en-US">Document Shell Company Event Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodStartDate" xlink:label="dei_DocumentPeriodStartDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodStartDate" xlink:to="dei_DocumentPeriodStartDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodStartDate_lbl" xml:lang="en-US">Document Period Start Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPrimarySicNumber" xlink:label="dei_EntityPrimarySicNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPrimarySicNumber" xlink:to="dei_EntityPrimarySicNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPrimarySicNumber_lbl" xml:lang="en-US">Entity Primary SIC Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US">Entity Address, Address Line One</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine2_lbl" xml:lang="en-US">Entity Address, Address Line Two</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine3" xlink:label="dei_EntityAddressAddressLine3" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine3" xlink:to="dei_EntityAddressAddressLine3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine3_lbl" xml:lang="en-US">Entity Address, Address Line Three</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address, City or Town</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address, State or Province</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCountry" xlink:to="dei_EntityAddressCountry_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCountry_lbl" xml:lang="en-US">Entity Address, Country</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CountryRegion" xlink:label="dei_CountryRegion" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CountryRegion" xlink:to="dei_CountryRegion_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CountryRegion_lbl" xml:lang="en-US">Country Region</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Extension" xlink:label="dei_Extension" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Extension" xlink:to="dei_Extension_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Extension_lbl" xml:lang="en-US">Extension</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_WrittenCommunications" xlink:label="dei_WrittenCommunications" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_WrittenCommunications" xlink:to="dei_WrittenCommunications_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_WrittenCommunications_lbl" xml:lang="en-US">Written Communications</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SolicitingMaterial" xlink:label="dei_SolicitingMaterial" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SolicitingMaterial" xlink:to="dei_SolicitingMaterial_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SolicitingMaterial_lbl" xml:lang="en-US">Soliciting Material</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementTenderOffer" xlink:label="dei_PreCommencementTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementTenderOffer" xlink:to="dei_PreCommencementTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementTenderOffer_lbl" xml:lang="en-US">Pre-commencement Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="dei_PreCommencementIssuerTenderOffer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PreCommencementIssuerTenderOffer" xlink:to="dei_PreCommencementIssuerTenderOffer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PreCommencementIssuerTenderOffer_lbl" xml:lang="en-US">Pre-commencement Issuer Tender Offer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Title of 12(b) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_NoTradingSymbolFlag" xlink:label="dei_NoTradingSymbolFlag" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_NoTradingSymbolFlag" xlink:to="dei_NoTradingSymbolFlag_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_NoTradingSymbolFlag_lbl" xml:lang="en-US">No Trading Symbol Flag</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12gTitle" xlink:label="dei_Security12gTitle" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12gTitle" xlink:to="dei_Security12gTitle_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12gTitle_lbl" xml:lang="en-US">Title of 12(g) Security</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityReportingObligation" xlink:label="dei_SecurityReportingObligation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityReportingObligation" xlink:to="dei_SecurityReportingObligation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityReportingObligation_lbl" xml:lang="en-US">Security Reporting Obligation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AnnualInformationForm" xlink:label="dei_AnnualInformationForm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AnnualInformationForm" xlink:to="dei_AnnualInformationForm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AnnualInformationForm_lbl" xml:lang="en-US">Annual Information Form</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="dei_AuditedAnnualFinancialStatements" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditedAnnualFinancialStatements" xlink:to="dei_AuditedAnnualFinancialStatements_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditedAnnualFinancialStatements_lbl" xml:lang="en-US">Audited Annual Financial Statements</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US">Entity Voluntary Filers</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US">Entity Current Reporting Status</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US">Entity Interactive Data Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US">Entity Small Business</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityExTransitionPeriod" xlink:label="dei_EntityExTransitionPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityExTransitionPeriod" xlink:to="dei_EntityExTransitionPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityExTransitionPeriod_lbl" xml:lang="en-US">Elected Not To Use the Extended Transition Period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAccountingStandard" xlink:to="dei_DocumentAccountingStandard_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAccountingStandard_lbl" xml:lang="en-US">Document Accounting Standard</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_OtherReportingStandardItemNumber" xlink:label="dei_OtherReportingStandardItemNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_OtherReportingStandardItemNumber" xlink:to="dei_OtherReportingStandardItemNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_OtherReportingStandardItemNumber_lbl" xml:lang="en-US">Other Reporting Standard Item Number</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US">Entity Shell Company</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPublicFloat_lbl" xml:lang="en-US">Entity Public Float</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityBankruptcyProceedingsReportingCurrent" xlink:to="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityBankruptcyProceedingsReportingCurrent_lbl" xml:lang="en-US">Entity Bankruptcy Proceedings, Reporting Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentsIncorporatedByReferenceTextBlock_lbl" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US">Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Cash" xlink:to="us-gaap_Cash_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Cash_lbl" xml:lang="en-US">Cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepositsAssetsCurrent" xlink:label="us-gaap_DepositsAssetsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepositsAssetsCurrent" xlink:to="us-gaap_DepositsAssetsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepositsAssetsCurrent_lbl" xml:lang="en-US">Term deposits (Note 2)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Accounts receivable, net (Note 4)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNet_lbl" xml:lang="en-US">Inventories (Note 5)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="us-gaap_PrepaidExpenseCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseCurrent" xlink:to="us-gaap_PrepaidExpenseCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseCurrent_lbl" xml:lang="en-US">Prepaid expenses and deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">Total current assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Property, equipment and leaseholds, net (Note 6)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US">Right of use assets (Note 3)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US">Intangible assets (Note 7)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="us-gaap_DepositsAssetsNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepositsAssetsNoncurrent" xlink:to="us-gaap_DepositsAssetsNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepositsAssetsNoncurrent_lbl" xml:lang="en-US">Long term deposits (Note 8)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestments" xlink:to="us-gaap_EquityMethodInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestments_lbl" xml:lang="en-US">Investments (Note 9)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill (Note 7)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US">Deferred tax asset (Note 2)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Total Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAbstract" xlink:label="us-gaap_LiabilitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAbstract" xlink:to="us-gaap_LiabilitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAbstract_lbl" xml:lang="en-US">Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">Current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US">Accounts payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Accrued liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="us-gaap_DeferredRevenueCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueCurrent" xlink:to="us-gaap_DeferredRevenueCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenueCurrent_lbl" xml:lang="en-US">Deferred revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TaxesPayableCurrent_lbl" xml:lang="en-US">Income taxes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="us-gaap_LinesOfCreditCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LinesOfCreditCurrent" xlink:to="us-gaap_LinesOfCreditCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LinesOfCreditCurrent_lbl" xml:lang="en-US">Short term line of credit (Note 10)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Current portion of lease liability (Note 3)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtCurrent" xlink:to="us-gaap_LongTermDebtCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtCurrent_lbl" xml:lang="en-US">Current portion of long term debt (Note 11)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">Total current liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Lease liability (Note 3)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US">Deferred income tax liability (Note 2)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtNoncurrent" xlink:to="us-gaap_LongTermDebtNoncurrent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtNoncurrent_lbl" xml:lang="en-US">Long term debt (Note 11)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US">Total Liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">Stockholders&#8217; Equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US">Common stock, value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapital" xlink:to="us-gaap_AdditionalPaidInCapital_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapital_lbl" xml:lang="en-US">Capital in excess of par value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US">Other comprehensive loss</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Accumulated earnings</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Total stockholders&#8217; equity &#8211; controlling interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterest_lbl" xml:lang="en-US">Non-controlling interests (Note 14)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Total Stockholders&#8217; Equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US">Total Liabilities and Stockholders&#8217; Equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US">Common stock, shares authorized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Common stock, par value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xml:lang="en-US">Preferred stock, shares authorized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Preferred stock, par value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US">Common stock, shares issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Common stock, shares outstanding</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US">Income Statement [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xml:lang="en-US">Sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xml:lang="en-US">Cost of sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl" xml:lang="en-US">Gross profit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xml:lang="en-US">Operating Expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalariesAndWages" xlink:label="us-gaap_SalariesAndWages" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalariesAndWages" xlink:to="us-gaap_SalariesAndWages_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalariesAndWages_lbl" xml:lang="en-US">Wages</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OfficersCompensation" xlink:label="us-gaap_OfficersCompensation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OfficersCompensation" xlink:to="us-gaap_OfficersCompensation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OfficersCompensation_lbl" xml:lang="en-US">Administrative salaries and benefits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralInsuranceExpense" xlink:label="us-gaap_GeneralInsuranceExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralInsuranceExpense" xlink:to="us-gaap_GeneralInsuranceExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeneralInsuranceExpense_lbl" xml:lang="en-US">Insurance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpense_lbl" xml:lang="en-US">Interest expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherGeneralExpense" xlink:label="us-gaap_OtherGeneralExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherGeneralExpense" xlink:to="us-gaap_OtherGeneralExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherGeneralExpense_lbl" xml:lang="en-US">Office and miscellaneous</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xml:lang="en-US">Research</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_Consulting" xlink:label="FSI_Consulting" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_Consulting" xlink:to="FSI_Consulting_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_Consulting_lbl" xml:lang="en-US">Consulting</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UtilitiesOperatingExpense" xlink:label="us-gaap_UtilitiesOperatingExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UtilitiesOperatingExpense" xlink:to="us-gaap_UtilitiesOperatingExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UtilitiesOperatingExpense_lbl" xml:lang="en-US">Utilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpense" xlink:to="us-gaap_SellingAndMarketingExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingAndMarketingExpense_lbl" xml:lang="en-US">Advertising and promotion</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TravelAndEntertainmentExpense" xlink:label="us-gaap_TravelAndEntertainmentExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TravelAndEntertainmentExpense" xlink:to="us-gaap_TravelAndEntertainmentExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TravelAndEntertainmentExpense_lbl" xml:lang="en-US">Travel</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfessionalFees" xlink:label="us-gaap_ProfessionalFees" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfessionalFees" xlink:to="us-gaap_ProfessionalFees_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfessionalFees_lbl" xml:lang="en-US">Professional fees</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_InvestorRelationsAndTransferAgentFee" xlink:label="FSI_InvestorRelationsAndTransferAgentFee" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestorRelationsAndTransferAgentFee" xlink:to="FSI_InvestorRelationsAndTransferAgentFee_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_InvestorRelationsAndTransferAgentFee_lbl" xml:lang="en-US">Investor relations and transfer agent fee</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseExpense" xlink:to="us-gaap_OperatingLeaseExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseExpense_lbl" xml:lang="en-US">Lease expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommunicationsAndInformationTechnology" xlink:label="us-gaap_CommunicationsAndInformationTechnology" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommunicationsAndInformationTechnology" xlink:to="us-gaap_CommunicationsAndInformationTechnology_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommunicationsAndInformationTechnology_lbl" xml:lang="en-US">Telecommunications</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ShippingCost" xlink:label="FSI_ShippingCost" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ShippingCost" xlink:to="FSI_ShippingCost_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ShippingCost_lbl" xml:lang="en-US">Shipping</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US">Currency exchange</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_Commissions" xlink:label="FSI_Commissions" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_Commissions" xlink:to="FSI_Commissions_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_Commissions_lbl" xml:lang="en-US">Commissions</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingExpenses_lbl" xml:lang="en-US">Total operating expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xml:lang="en-US">Operating income</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_LeaseTerminationFee" xlink:label="FSI_LeaseTerminationFee" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LeaseTerminationFee" xlink:to="FSI_LeaseTerminationFee_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="FSI_LeaseTerminationFee_lbl" xml:lang="en-US">Loss on lease termination</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnInvestments" xlink:to="us-gaap_GainLossOnInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnInvestments_lbl" xml:lang="en-US">Gain on investment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeOther" xlink:label="us-gaap_InterestIncomeOther" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestIncomeOther" xlink:to="us-gaap_InterestIncomeOther_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestIncomeOther_lbl" xml:lang="en-US">Interest income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income before income tax</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract_lbl" xml:lang="en-US">Income taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Income tax expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Net income for the period including non-controlling interests</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Less: Net income attributable to non-controlling interests</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLoss_lbl" xml:lang="en-US">Net income attributable to controlling interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Income per share (basic)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Income per share (diluted)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Weighted average number of common shares (basic)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Weighted average number of common shares (diluted)</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_lbl" xml:lang="en-US">Other comprehensive income (loss):</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfitLoss_2_lbl" xml:lang="en-US">Net income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xml:lang="en-US">Unrealized income (loss) on foreign currency translations</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Total comprehensive income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Comprehensive income &#8211; non-controlling interest</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US">Comprehensive income attributable to Flexible Solutions International Inc.</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Operating activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProfitLoss_3_lbl" xml:lang="en-US">Net income for the period including non-controlling interests</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments to reconcile net income to net cash:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Stock based compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationAndAmortization" xlink:to="us-gaap_DepreciationAndAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationAndAmortization_lbl" xml:lang="en-US">Depreciation and amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl" xml:lang="en-US">Lease right of use amortization</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_LeaseRightOfUseFinancing" xlink:label="FSI_LeaseRightOfUseFinancing" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LeaseRightOfUseFinancing" xlink:to="FSI_LeaseRightOfUseFinancing_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LeaseRightOfUseFinancing_lbl" xml:lang="en-US">Lease right of use financing</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnTerminationOfLease" xlink:label="us-gaap_GainLossOnTerminationOfLease" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnTerminationOfLease" xlink:to="us-gaap_GainLossOnTerminationOfLease_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnTerminationOfLease_lbl" xml:lang="en-US">Loss on terminating lease</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnInvestments" xlink:to="us-gaap_GainLossOnInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnInvestments_2_lbl" xml:lang="en-US">Gain on investment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">Changes in non-cash working capital items:</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US">(Increase) decrease in accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xml:lang="en-US">Decrease in inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:to="us-gaap_IncreaseDecreaseInPrepaidExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense_lbl" xml:lang="en-US">Decrease (increase) in prepaid expenses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US">(Decrease) increase in accounts payable and accrued liabilities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl" xml:lang="en-US">Increase in income taxes payable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl" xml:lang="en-US">Decrease in deferred revenue</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">Cash used in operating activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">Investing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_PaymentsToAcquireLongTermDeposits" xlink:label="FSI_PaymentsToAcquireLongTermDeposits" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_PaymentsToAcquireLongTermDeposits" xlink:to="FSI_PaymentsToAcquireLongTermDeposits_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="FSI_PaymentsToAcquireLongTermDeposits_lbl" xml:lang="en-US">Long term deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">Net purchase of property, equipment and leaseholds</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:to="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_lbl" xml:lang="en-US">Proceeds of equity investment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">Cash used in investing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US">Financing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromLinesOfCredit" xlink:to="us-gaap_ProceedsFromLinesOfCredit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromLinesOfCredit_lbl" xml:lang="en-US">Draw from short term line of credit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl" xml:lang="en-US">Repayment of long term debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:to="us-gaap_ProceedsFromIssuanceOfLongTermDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfLongTermDebt_lbl" xml:lang="en-US">Proceeds of long term debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfFinancingCosts" xlink:label="us-gaap_PaymentsOfFinancingCosts" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfFinancingCosts" xlink:to="us-gaap_PaymentsOfFinancingCosts_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfFinancingCosts_lbl" xml:lang="en-US">Lease payments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xml:lang="en-US">Proceeds from issuance of common stock</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US">Cash used in financing activities</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xml:lang="en-US">Effect of exchange rate changes on cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US">Inflow (outflow) of cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xml:lang="en-US">Cash, beginning</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2_lbl" xml:lang="en-US">Cash resources</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract_lbl" xml:lang="en-US">Cash consists of:</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Cash" xlink:to="us-gaap_Cash_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_Cash_2_lbl" xml:lang="en-US">Cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermInvestments" xlink:label="us-gaap_ShortTermInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermInvestments" xlink:to="us-gaap_ShortTermInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShortTermInvestments_lbl" xml:lang="en-US">Term Deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US">Statement [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US">Statement [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_2_lbl" xml:lang="en-US">Beginning balance, value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Beginning balance, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_lbl" xml:lang="en-US">Translation adjustment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_lbl" xml:lang="en-US">Common stock issued</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xml:lang="en-US">Common stock issued, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US">Stock-based compensation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_3_lbl" xml:lang="en-US">Ending balance, value</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharesOutstanding_2_lbl" xml:lang="en-US">Ending balance, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl" xml:lang="en-US">BASIS OF PRESENTATION</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xml:lang="en-US">SIGNIFICANT ACCOUNTING POLICIES</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_DisclosureLeasesAbstract" xlink:label="FSI_DisclosureLeasesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DisclosureLeasesAbstract" xlink:to="FSI_DisclosureLeasesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DisclosureLeasesAbstract_lbl" xml:lang="en-US">Leases</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US">LEASES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="us-gaap_ReceivablesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReceivablesAbstract_lbl" xml:lang="en-US">Receivables [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinancingReceivablesTextBlock" xlink:label="us-gaap_FinancingReceivablesTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancingReceivablesTextBlock" xlink:to="us-gaap_FinancingReceivablesTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancingReceivablesTextBlock_lbl" xml:lang="en-US">ACCOUNTS RECEIVABLE</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureAbstract_lbl" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl" xml:lang="en-US">INVENTORIES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xml:lang="en-US">Property, Plant and Equipment [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US">PROPERTY, EQUIPMENT AND LEASEHOLDS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US">GOODWILL AND INTANGIBLE ASSETS</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_DisclosureLongTermDepositsAbstract" xlink:label="FSI_DisclosureLongTermDepositsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DisclosureLongTermDepositsAbstract" xlink:to="FSI_DisclosureLongTermDepositsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DisclosureLongTermDepositsAbstract_lbl" xml:lang="en-US">Long Term Deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_LongTermDepositsTextBlock" xlink:label="FSI_LongTermDepositsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LongTermDepositsTextBlock" xlink:to="FSI_LongTermDepositsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LongTermDepositsTextBlock_lbl" xml:lang="en-US">LONG TERM DEPOSITS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract_lbl" xml:lang="en-US">Equity Method Investments and Joint Ventures [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:to="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_lbl" xml:lang="en-US">INVESTMENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureAbstract_lbl" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTextBlock" xlink:label="us-gaap_ShortTermDebtTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtTextBlock" xlink:to="us-gaap_ShortTermDebtTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermDebtTextBlock_lbl" xml:lang="en-US">SHORT-TERM LINE OF CREDIT</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtTextBlock" xlink:to="us-gaap_LongTermDebtTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebtTextBlock_lbl" xml:lang="en-US">LONG TERM DEBT</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xml:lang="en-US">Share-Based Payment Arrangement [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">STOCK OPTIONS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_EquityAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityAbstract_lbl" xml:lang="en-US">Equity [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xml:lang="en-US">CAPITAL STOCK</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="us-gaap_NoncontrollingInterestAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestAbstract" xlink:to="us-gaap_NoncontrollingInterestAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestAbstract_lbl" xml:lang="en-US">Noncontrolling Interest [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestDisclosureTextBlock" xlink:label="us-gaap_MinorityInterestDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDisclosureTextBlock" xlink:to="us-gaap_MinorityInterestDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestDisclosureTextBlock_lbl" xml:lang="en-US">NON-CONTROLLING INTERESTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingAbstract_lbl" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US">SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_DisclosureComparativeFiguresAbstract" xlink:label="FSI_DisclosureComparativeFiguresAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DisclosureComparativeFiguresAbstract" xlink:to="FSI_DisclosureComparativeFiguresAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DisclosureComparativeFiguresAbstract_lbl" xml:lang="en-US">Comparative Figures</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ComparativeFiguresTextBlock" xlink:label="FSI_ComparativeFiguresTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ComparativeFiguresTextBlock" xlink:to="FSI_ComparativeFiguresTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ComparativeFiguresTextBlock_lbl" xml:lang="en-US">COMPARATIVE FIGURES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsAbstract_lbl" xml:lang="en-US">Subsequent Events [Abstract]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xml:lang="en-US">SUBSEQUENT EVENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xml:lang="en-US">Cash and Cash Equivalents</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_TermDepositsPolicyTextBlock" xlink:label="FSI_TermDepositsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TermDepositsPolicyTextBlock" xlink:to="FSI_TermDepositsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_TermDepositsPolicyTextBlock_lbl" xml:lang="en-US">Term Deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xml:lang="en-US">Inventories and Cost of Sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" xlink:label="us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" xlink:to="us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_lbl" xml:lang="en-US">Allowance for expected credit losses</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US">Property, Equipment, Leaseholds and Intangible Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US">Impairment of Long-Lived Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xml:lang="en-US">Foreign Currency</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockIssuedInExchangeForServicesPolicyTextBlock" xlink:label="FSI_StockIssuedInExchangeForServicesPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockIssuedInExchangeForServicesPolicyTextBlock" xlink:to="FSI_StockIssuedInExchangeForServicesPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockIssuedInExchangeForServicesPolicyTextBlock_lbl" xml:lang="en-US">Stock Issued in Exchange for Services</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:label="us-gaap_CompensationRelatedCostsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:to="us-gaap_CompensationRelatedCostsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CompensationRelatedCostsPolicyTextBlock_lbl" xml:lang="en-US">Stock-based Compensation</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl" xml:lang="en-US">Other Comprehensive Income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US">Income Per Share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US">Use of Estimates</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xml:lang="en-US">Fair Value of Financial Instruments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_lbl" xml:lang="en-US">Contingencies</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US">Income Taxes</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US">Risk Management</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsPolicy" xlink:label="us-gaap_EquityMethodInvestmentsPolicy" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsPolicy" xlink:to="us-gaap_EquityMethodInvestmentsPolicy_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsPolicy_lbl" xml:lang="en-US">Equity Method Investment</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xml:lang="en-US">Goodwill and Intangible Assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US">Recent Accounting Pronouncements</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ScheduleOfMethodOfDepreciationTableTextBlock" xlink:label="FSI_ScheduleOfMethodOfDepreciationTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfMethodOfDepreciationTableTextBlock" xlink:to="FSI_ScheduleOfMethodOfDepreciationTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfMethodOfDepreciationTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF METHOD OF DEPRECIATION</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" xlink:label="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" xlink:to="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_lbl" xml:lang="en-US">SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF ACCOUNTS RECEIVABLE</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF INVENTORY</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xml:lang="en-US">SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" xlink:label="us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" xlink:to="us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ScheduleOfLongTermDepositsTableTextBlock" xlink:label="FSI_ScheduleOfLongTermDepositsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfLongTermDepositsTableTextBlock" xlink:to="FSI_ScheduleOfLongTermDepositsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfLongTermDepositsTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF LONG TERM DEPOSITS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_lbl" xml:lang="en-US">SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsTextBlock" xlink:to="us-gaap_EquityMethodInvestmentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock_lbl" xml:lang="en-US">SCHEDULE OF EQUITY METHOD INVESTMENT</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnInvestmentsTextBlock" xlink:label="us-gaap_GainLossOnInvestmentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnInvestmentsTextBlock" xlink:to="us-gaap_GainLossOnInvestmentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnInvestmentsTextBlock_lbl" xml:lang="en-US">SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ScheduleOfLoanCovenantsTableTextBlock" xlink:label="FSI_ScheduleOfLoanCovenantsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfLoanCovenantsTableTextBlock" xlink:to="FSI_ScheduleOfLoanCovenantsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfLoanCovenantsTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF LOAN COVENANTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:to="us-gaap_ScheduleOfDebtInstrumentsTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDebtInstrumentsTextBlock_lbl" xml:lang="en-US">SCHEDULE OF OUTSTANDING BALANCE LOAN</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF STOCK OPTION ACTIVITIES</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ScheduleOfDistributionsTableTextBlock" xlink:label="FSI_ScheduleOfDistributionsTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfDistributionsTableTextBlock" xlink:to="FSI_ScheduleOfDistributionsTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfDistributionsTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF DISTRIBUTIONS</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" xlink:label="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" xlink:to="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_lbl" xml:lang="en-US">SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:label="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:to="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_lbl" xml:lang="en-US">SCHEDULE OF REPORTABLE SEGMENTS</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xml:lang="en-US">SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:to="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_lbl" xml:lang="en-US">SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:label="us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:to="us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_lbl" xml:lang="en-US">Subsidiary company ownership interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_IncreaseDecreaseInSharePercentage" xlink:label="FSI_IncreaseDecreaseInSharePercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_IncreaseDecreaseInSharePercentage" xlink:to="FSI_IncreaseDecreaseInSharePercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_IncreaseDecreaseInSharePercentage_lbl" xml:lang="en-US">Increase decrease in share percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_RemainingInvestmentOwnedPercentage" xlink:label="FSI_RemainingInvestmentOwnedPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RemainingInvestmentOwnedPercentage" xlink:to="FSI_RemainingInvestmentOwnedPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_RemainingInvestmentOwnedPercentage_lbl" xml:lang="en-US">Remaining investment owned percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_lbl" xml:lang="en-US">Noncontrolling interest percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_DepreciationMethodUsedAndAnnualRate" xlink:label="FSI_DepreciationMethodUsedAndAnnualRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DepreciationMethodUsedAndAnnualRate" xlink:to="FSI_DepreciationMethodUsedAndAnnualRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DepreciationMethodUsedAndAnnualRate_lbl" xml:lang="en-US">Depreciation method used and annual rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="us-gaap_ScheduleOfProductInformationTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfProductInformationTable" xlink:to="us-gaap_ScheduleOfProductInformationTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfProductInformationTable_lbl" xml:lang="en-US">Nature of Operation, Product Information, Concentration of Risk [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductInformationLineItems" xlink:label="us-gaap_ProductInformationLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductInformationLineItems" xlink:to="us-gaap_ProductInformationLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductInformationLineItems_lbl" xml:lang="en-US">Product Information [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Deposits" xlink:label="us-gaap_Deposits" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Deposits" xlink:to="us-gaap_Deposits_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Deposits_lbl" xml:lang="en-US">Deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl" xml:lang="en-US">Interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_MinimumInterestPenalty" xlink:label="FSI_MinimumInterestPenalty" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MinimumInterestPenalty" xlink:to="FSI_MinimumInterestPenalty_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_MinimumInterestPenalty_lbl" xml:lang="en-US">Minimum interest penalty</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_2_lbl" xml:lang="en-US">Sale</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ConcentrationRiskThresholdPercentage" xlink:label="FSI_ConcentrationRiskThresholdPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConcentrationRiskThresholdPercentage" xlink:to="FSI_ConcentrationRiskThresholdPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_ConcentrationRiskThresholdPercentage_lbl" xml:lang="en-US">Accounts receivable, after allowance for credit loss, percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities" xlink:label="us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities" xlink:to="us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities_lbl" xml:lang="en-US">Equity method investment, description</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DisclosureLeasesAbstract" xlink:to="FSI_DisclosureLeasesAbstract_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_DisclosureLeasesAbstract_2_lbl" xml:lang="en-US">Summary Of Right-of-use Asset And Lease Liability</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLeaseIncomeLeasePayments" xlink:label="us-gaap_OperatingLeaseLeaseIncomeLeasePayments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLeaseIncomeLeasePayments" xlink:to="us-gaap_OperatingLeaseLeaseIncomeLeasePayments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLeaseIncomeLeasePayments_lbl" xml:lang="en-US">Payment of penalty</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SecurityDeposit" xlink:label="us-gaap_SecurityDeposit" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecurityDeposit" xlink:to="us-gaap_SecurityDeposit_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SecurityDeposit_lbl" xml:lang="en-US">Security deposit</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_2_lbl" xml:lang="en-US">Right of use assets, beginning balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl" xml:lang="en-US">Depreciation</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease" xlink:label="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease" xlink:to="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_lbl" xml:lang="en-US">Right of use assets, early termination of lease</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_3_lbl" xml:lang="en-US">Right of use assets, ending balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Lease liability, beginning balance</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_LeaseInterestExpense" xlink:label="FSI_LeaseInterestExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LeaseInterestExpense" xlink:to="FSI_LeaseInterestExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LeaseInterestExpense_lbl" xml:lang="en-US">Lease interest expense</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US">Payments</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_OperatingLeaseLiabilityEarlyTerminationOfLease" xlink:label="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease" xlink:to="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease_lbl" xml:lang="en-US">Lease liability, early termination of lease</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_OperatingLeaseLiability_2_lbl" xml:lang="en-US">Lease liability, ending balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseDiscountRate" xlink:label="us-gaap_LesseeOperatingLeaseDiscountRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseDiscountRate" xlink:to="us-gaap_LesseeOperatingLeaseDiscountRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseDiscountRate_lbl" xml:lang="en-US">Operating leases discount rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGross" xlink:label="us-gaap_AccountsReceivableGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGross" xlink:to="us-gaap_AccountsReceivableGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableGross_lbl" xml:lang="en-US">Accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:label="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:to="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_lbl" xml:lang="en-US">Allowances for doubtful accounts</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsAndNotesReceivableNet" xlink:label="us-gaap_AccountsAndNotesReceivableNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsAndNotesReceivableNet" xlink:to="us-gaap_AccountsAndNotesReceivableNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccountsAndNotesReceivableNet_lbl" xml:lang="en-US">Total accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods" xlink:label="us-gaap_InventoryFinishedGoods" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoods" xlink:to="us-gaap_InventoryFinishedGoods_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryFinishedGoods_lbl" xml:lang="en-US">Completed goods</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsAndSupplies" xlink:label="us-gaap_InventoryRawMaterialsAndSupplies" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterialsAndSupplies" xlink:to="us-gaap_InventoryRawMaterialsAndSupplies_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryRawMaterialsAndSupplies_lbl" xml:lang="en-US">Raw materials and supplies</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_InventoryNet_2_lbl" xml:lang="en-US">Total inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xml:lang="en-US">Cost</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xml:lang="en-US">Accumulated Depreciation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_2_lbl" xml:lang="en-US">Property, plant and equipment, net, total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Depreciation_lbl" xml:lang="en-US">Depreciation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_Goodwill_2_lbl" xml:lang="en-US">Goodwill</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:to="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_lbl" xml:lang="en-US">Indefinite lived intangible assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US">Definite lived intangible assets, beginning balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Amortization</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_2_lbl" xml:lang="en-US">Definite lived intangible assets, ending balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:label="us-gaap_ImpairmentEffectsOnEarningsPerShareTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:to="us-gaap_ImpairmentEffectsOnEarningsPerShareTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentEffectsOnEarningsPerShareTable_lbl" xml:lang="en-US">Impairment Effects on Earnings Per Share [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:label="us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems_lbl" xml:lang="en-US">Impairment Effects on Earnings Per Share [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_lbl" xml:lang="en-US">2024</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US">2025</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US">2026</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US">2027</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US">2028</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US">Amortization</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DisclosureLongTermDepositsAbstract" xlink:to="FSI_DisclosureLongTermDepositsAbstract_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_DisclosureLongTermDepositsAbstract_2_lbl" xml:lang="en-US">Schedule Of Long Term Deposits</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepositsAssetsNoncurrent" xlink:to="us-gaap_DepositsAssetsNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DepositsAssetsNoncurrent_2_lbl" xml:lang="en-US">Long term deposits</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_lbl" xml:lang="en-US">Purchase consideration</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_lbl" xml:lang="en-US">Cash</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_lbl" xml:lang="en-US">Building</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_lbl" xml:lang="en-US">Land</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_lbl" xml:lang="en-US">Deferred tax liability</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" xlink:to="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_lbl" xml:lang="en-US">Long term debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_lbl" xml:lang="en-US">Total identifiable net assets:</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" xlink:to="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_lbl" xml:lang="en-US">Excess of assets acquired over consideration</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_InvestmentEliminatedUponConsolidation" xlink:label="FSI_InvestmentEliminatedUponConsolidation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestmentEliminatedUponConsolidation" xlink:to="FSI_InvestmentEliminatedUponConsolidation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_InvestmentEliminatedUponConsolidation_lbl" xml:lang="en-US">Less investment eliminated upon consolidation</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_GainOnAcquisitionOfSubsidiary" xlink:label="FSI_GainOnAcquisitionOfSubsidiary" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_GainOnAcquisitionOfSubsidiary" xlink:to="FSI_GainOnAcquisitionOfSubsidiary_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_GainOnAcquisitionOfSubsidiary_lbl" xml:lang="en-US">Gain on acquisition of ENP Peru</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestments" xlink:to="us-gaap_EquityMethodInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_EquityMethodInvestments_2_lbl" xml:lang="en-US">Balance, Beginning</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EquityMethodInvestmentReturnOfEquity" xlink:label="FSI_EquityMethodInvestmentReturnOfEquity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EquityMethodInvestmentReturnOfEquity" xlink:to="FSI_EquityMethodInvestmentReturnOfEquity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EquityMethodInvestmentReturnOfEquity_lbl" xml:lang="en-US">Return of equity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_lbl" xml:lang="en-US">Gain in equity method investment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestmentEliminatedUponConsolidation" xlink:to="FSI_InvestmentEliminatedUponConsolidation_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_InvestmentEliminatedUponConsolidation_2_lbl" xml:lang="en-US">Balance, Beginning</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestments" xlink:to="us-gaap_EquityMethodInvestments_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_EquityMethodInvestments_3_lbl" xml:lang="en-US">Balance, Ending</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainsLossesOnSalesOfInvestmentRealEstate" xlink:label="us-gaap_GainsLossesOnSalesOfInvestmentRealEstate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainsLossesOnSalesOfInvestmentRealEstate" xlink:to="us-gaap_GainsLossesOnSalesOfInvestmentRealEstate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainsLossesOnSalesOfInvestmentRealEstate_lbl" xml:lang="en-US">Net sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RealizedInvestmentGainsLosses" xlink:label="us-gaap_RealizedInvestmentGainsLosses" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RealizedInvestmentGainsLosses" xlink:to="us-gaap_RealizedInvestmentGainsLosses_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RealizedInvestmentGainsLosses_lbl" xml:lang="en-US">Gross profit</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_RealizedInvestmentGainsLossesNet" xlink:label="FSI_RealizedInvestmentGainsLossesNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RealizedInvestmentGainsLossesNet" xlink:to="FSI_RealizedInvestmentGainsLossesNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="FSI_RealizedInvestmentGainsLossesNet_lbl" xml:lang="en-US">Net income</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable_lbl" xml:lang="en-US">Equity Method Investment [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_lbl" xml:lang="en-US">Schedule of Equity Method Investments [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_lbl" xml:lang="en-US">Ownership percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" xlink:label="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" xlink:to="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage_lbl" xml:lang="en-US">Additional equity method investment ownership percentage</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_2_lbl" xml:lang="en-US">Non-controlling interest percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Investments" xlink:label="us-gaap_Investments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Investments" xlink:to="us-gaap_Investments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Investments_lbl" xml:lang="en-US">Investment</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_DebtInstrumentMaturityMonthYear" xlink:label="FSI_DebtInstrumentMaturityMonthYear" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DebtInstrumentMaturityMonthYear" xlink:to="FSI_DebtInstrumentMaturityMonthYear_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_DebtInstrumentMaturityMonthYear_lbl" xml:lang="en-US">Debt maturity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharePrice" xlink:label="us-gaap_SharePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharePrice" xlink:to="us-gaap_SharePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharePrice_lbl" xml:lang="en-US">Share price</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US">Sales</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNet" xlink:to="us-gaap_AccountsReceivableNet_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNet_lbl" xml:lang="en-US">Accounts receivable related parties</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="us-gaap_PaymentsToAcquireInvestments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireInvestments" xlink:to="us-gaap_PaymentsToAcquireInvestments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireInvestments_lbl" xml:lang="en-US">Payments to Acquire Investments</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_LineOfCreditFacilityTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityTable_lbl" xml:lang="en-US">Line of Credit Facility [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="us-gaap_LineOfCreditFacilityLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityLineItems_lbl" xml:lang="en-US">Line of Credit Facility [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl" xml:lang="en-US">Line of Credit Facility, Current Borrowing Capacity</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US">Aggregate amount of revolving line of credit</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_PercentageOfForeignAccountsReceivableOfInventory" xlink:label="FSI_PercentageOfForeignAccountsReceivableOfInventory" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_PercentageOfForeignAccountsReceivableOfInventory" xlink:to="FSI_PercentageOfForeignAccountsReceivableOfInventory_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_PercentageOfForeignAccountsReceivableOfInventory_lbl" xml:lang="en-US">Percentage of foreign accounts receivable of inventory</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFaceAmount" xlink:to="us-gaap_DebtInstrumentFaceAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentFaceAmount_lbl" xml:lang="en-US">Debt face amount</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_LoanGuaranteedRate" xlink:label="FSI_LoanGuaranteedRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LoanGuaranteedRate" xlink:to="FSI_LoanGuaranteedRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LoanGuaranteedRate_lbl" xml:lang="en-US">Loan guaranteed rate</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LinesOfCreditCurrent" xlink:to="us-gaap_LinesOfCreditCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LinesOfCreditCurrent_2_lbl" xml:lang="en-US">Line of credit</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermBorrowings" xlink:to="us-gaap_ShortTermBorrowings_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermBorrowings_lbl" xml:lang="en-US">Short term borrowings</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EligiblePercentageOfDomesticAccountsReceivable" xlink:label="FSI_EligiblePercentageOfDomesticAccountsReceivable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EligiblePercentageOfDomesticAccountsReceivable" xlink:to="FSI_EligiblePercentageOfDomesticAccountsReceivable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_EligiblePercentageOfDomesticAccountsReceivable_lbl" xml:lang="en-US">Eligible percentage of domestic accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_LongTermDebt_lbl" xml:lang="en-US">Balance, beginning of period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromBankDebt" xlink:label="us-gaap_ProceedsFromBankDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromBankDebt" xlink:to="us-gaap_ProceedsFromBankDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromBankDebt_lbl" xml:lang="en-US">Plus: Proceeds from loans</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForProceedsFromDepositOnLoan" xlink:label="us-gaap_PaymentsForProceedsFromDepositOnLoan" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForProceedsFromDepositOnLoan" xlink:to="us-gaap_PaymentsForProceedsFromDepositOnLoan_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsForProceedsFromDepositOnLoan_lbl" xml:lang="en-US">Less: Payments on loan</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_LongTermDebt_2_lbl" xml:lang="en-US">Balance, end of period</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_lbl" xml:lang="en-US">Defined Benefit Plan [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_DefinedBenefitPlanDisclosureLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems_lbl" xml:lang="en-US">Defined Benefit Plan Disclosure [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebt_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermDebt_3_lbl" xml:lang="en-US">Long-term debt</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtCurrent" xlink:to="us-gaap_LongTermDebtCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_LongTermDebtCurrent_2_lbl" xml:lang="en-US">Less: current portion</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtNoncurrent" xlink:to="us-gaap_LongTermDebtNoncurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermDebtNoncurrent_2_lbl" xml:lang="en-US">Long-term debt non current</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShortTermDebtTable" xlink:label="us-gaap_ScheduleOfShortTermDebtTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShortTermDebtTable" xlink:to="us-gaap_ScheduleOfShortTermDebtTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShortTermDebtTable_lbl" xml:lang="en-US">Short-Term Debt [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtLineItems" xlink:label="us-gaap_ShortTermDebtLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtLineItems" xlink:to="us-gaap_ShortTermDebtLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermDebtLineItems_lbl" xml:lang="en-US">Short-Term Debt [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentFaceAmount" xlink:to="us-gaap_DebtInstrumentFaceAmount_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentFaceAmount_2_lbl" xml:lang="en-US">Debt instrument face amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTerm" xlink:to="us-gaap_DebtInstrumentTerm_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentTerm_lbl" xml:lang="en-US">Debt instrument term</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_2_lbl" xml:lang="en-US">Debt instrument interest rate stated percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseDebt" xlink:label="us-gaap_InterestExpenseDebt" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpenseDebt" xlink:to="us-gaap_InterestExpenseDebt_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpenseDebt_lbl" xml:lang="en-US">Interest expense debt</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDefaultLongtermDebtAmount" xlink:label="us-gaap_DebtDefaultLongtermDebtAmount" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDefaultLongtermDebtAmount" xlink:to="us-gaap_DebtDefaultLongtermDebtAmount_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDefaultLongtermDebtAmount_lbl" xml:lang="en-US">Debt Long term debt amount</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LoansPayable" xlink:label="us-gaap_LoansPayable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansPayable" xlink:to="us-gaap_LoansPayable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LoansPayable_lbl" xml:lang="en-US">First mortgage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xml:lang="en-US">Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Number of shares, Beginning Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_lbl" xml:lang="en-US">Exercise price per share, Beginning Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, Beginning Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xml:lang="en-US">Number of shares, Cancelled or expired</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_lbl" xml:lang="en-US">Exercise price per share, Cancelled</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, Cancelled or expired</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Number of shares, Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_lbl" xml:lang="en-US">Exercise price per share, Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, Exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xml:lang="en-US">Number of shares, Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_lbl" xml:lang="en-US">Exercise price per share, Granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, Granted</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2_lbl" xml:lang="en-US">Number of shares, Ending Balance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_2_lbl" xml:lang="en-US">Exercise price per share, Ending Balance</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2_lbl" xml:lang="en-US">Weighted average exercise price, Ending Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US">Number of shares Exercisable, Ending Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_lbl" xml:lang="en-US">Exercise price per share Exercisable, Ending Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted average exercise price, Exercisable, Ending Balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xml:lang="en-US">Expected life - years</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xml:lang="en-US">Interest rate</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xml:lang="en-US">Volatility</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted average fair value of options granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_lbl" xml:lang="en-US">Options granted percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Vested term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xml:lang="en-US">Options maximum granted term</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Weighted-average remaining contractual life</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_2_lbl" xml:lang="en-US">Stock options granted</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockOptionPlanExpense" xlink:label="us-gaap_StockOptionPlanExpense" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockOptionPlanExpense" xlink:to="us-gaap_StockOptionPlanExpense_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockOptionPlanExpense_lbl" xml:lang="en-US">Stock option expense</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_AdditionalExpensesDueToOptionsGranted" xlink:label="FSI_AdditionalExpensesDueToOptionsGranted" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_AdditionalExpensesDueToOptionsGranted" xlink:to="FSI_AdditionalExpensesDueToOptionsGranted_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_AdditionalExpensesDueToOptionsGranted_lbl" xml:lang="en-US">Additional expenses due to options granted</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_2_lbl" xml:lang="en-US">Stock options exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xml:lang="en-US">Stock vested compensation non vested</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US">Weighted average period expected to be recognized</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_lbl" xml:lang="en-US">Aggregate intrinsic value of vested options</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_lbl" xml:lang="en-US">Aggregate intrinsic value of vested options exercised</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:to="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesIssuedForServices_lbl" xml:lang="en-US">Consultant for services, shares</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="us-gaap_StockIssuedDuringPeriodValueIssuedForServices" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:to="us-gaap_StockIssuedDuringPeriodValueIssuedForServices_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueIssuedForServices_lbl" xml:lang="en-US">Consultant for services, value</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableAmountPerShare" xlink:label="us-gaap_DividendsPayableAmountPerShare" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableAmountPerShare" xlink:to="us-gaap_DividendsPayableAmountPerShare_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsPayableAmountPerShare_lbl" xml:lang="en-US">Dividends per share</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable_lbl" xml:lang="en-US">Consolidation, Less-than-Wholly-Owned Subsidiary, Parent Ownership Interest, Effect of Change [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_lbl" xml:lang="en-US">Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_MinorityInterest_2_lbl" xml:lang="en-US">Distribution to noncontrolling interests, Beginning balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:to="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_lbl" xml:lang="en-US">Distribution</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_2_lbl" xml:lang="en-US">Non-controlling interest share of income</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_MinorityInterest_3_lbl" xml:lang="en-US">Distribution to noncontrolling interests, Ending balance</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates" xlink:label="us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates" xlink:to="us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates_lbl" xml:lang="en-US">Distribution to noncontrolling interests, Acquisition</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:label="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:to="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation_lbl" xml:lang="en-US">Distribution to noncontrolling interests, Non-controlling interest share of loss</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_lbl" xml:lang="en-US">Related party owner ship percentage</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToMinorityShareholders" xlink:to="us-gaap_PaymentsToMinorityShareholders_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToMinorityShareholders_lbl" xml:lang="en-US">Partnership distribution to non-controlling interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_2_lbl" xml:lang="en-US">Accounts receivable</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_lbl" xml:lang="en-US">Segment Reporting, Revenue from External Customer, Product and Service [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_lbl" xml:lang="en-US">Revenue from External Customer [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationNonproduction" xlink:label="us-gaap_DepreciationNonproduction" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationNonproduction" xlink:to="us-gaap_DepreciationNonproduction_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DepreciationNonproduction_lbl" xml:lang="en-US">Depreciation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_2_lbl" xml:lang="en-US">Income tax expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLoss_2_lbl" xml:lang="en-US">Segment profit</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SegmentAssets" xlink:label="FSI_SegmentAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SegmentAssets" xlink:to="FSI_SegmentAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SegmentAssets_lbl" xml:lang="en-US">Segment assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2_lbl" xml:lang="en-US">Expenditures for segment assets</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xml:lang="en-US">Schedule of Revenues from External Customers and Long-Lived Assets [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xml:lang="en-US">Revenues from External Customers and Long-Lived Assets [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_3_lbl" xml:lang="en-US">Total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncurrentAssets" xlink:to="us-gaap_NoncurrentAssets_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncurrentAssets_lbl" xml:lang="en-US">Total</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:label="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable_lbl" xml:lang="en-US">Schedule of Revenue by Major Customers, by Reporting Segments [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:to="us-gaap_EntityWideRevenueMajorCustomerLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EntityWideRevenueMajorCustomerLineItems_lbl" xml:lang="en-US">Revenue, Major Customer [Line Items]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="us-gaap_NumberOfOperatingSegments" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfOperatingSegments" xlink:to="us-gaap_NumberOfOperatingSegments_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NumberOfOperatingSegments_lbl" xml:lang="en-US">Number of operating segments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNet" xlink:to="us-gaap_AccountsReceivableNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsReceivableNet_2_lbl" xml:lang="en-US">Accounts receivable, after allowance for credit loss</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockOptionExercisePercent" xlink:label="FSI_StockOptionExercisePercent" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockOptionExercisePercent" xlink:to="FSI_StockOptionExercisePercent_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_StockOptionExercisePercent_lbl" xml:lang="en-US">Stock option exercise percent</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventTable_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTable_lbl" xml:lang="en-US">Subsequent Event [Table]</link:label>
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventLineItems_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventLineItems_lbl" xml:lang="en-US">Subsequent Event [Line Items]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_CapitalInExcessOfParValueMember" xlink:to="FSI_CapitalInExcessOfParValueMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_CapitalInExcessOfParValueMember_doc" xml:lang="en-US">Capital in Excess of Par Value [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MendotaLLCMember" xlink:to="FSI_MendotaLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_MendotaLLCMember_doc" xml:lang="en-US">317 Mendota LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPInvestmentsLLCAndENPMendotaMember" xlink:to="FSI_ENPInvestmentsLLCAndENPMendotaMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPInvestmentsLLCAndENPMendotaMember_doc" xml:lang="en-US">ENP Investments LLC and ENP Mendota [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_IncreaseDecreaseInSharePercentage" xlink:to="FSI_IncreaseDecreaseInSharePercentage_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_IncreaseDecreaseInSharePercentage_doc" xml:lang="en-US">Increase decrease in share percentage.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruMember" xlink:to="FSI_ENPPeruMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPPeruMember_doc" xml:lang="en-US">ENP Peru [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_UnrelatedPartyMember" xlink:to="FSI_UnrelatedPartyMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_UnrelatedPartyMember_doc" xml:lang="en-US">Unrelated Party [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RemainingInvestmentOwnedPercentage" xlink:to="FSI_RemainingInvestmentOwnedPercentage_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_RemainingInvestmentOwnedPercentage_doc" xml:lang="en-US">Remaining investment owned percentage.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TermDepositsPolicyTextBlock" xlink:to="FSI_TermDepositsPolicyTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TermDepositsPolicyTextBlock_doc" xml:lang="en-US">Term Deposits [Policy Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FirstTermMember" xlink:to="FSI_FirstTermMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_FirstTermMember_doc" xml:lang="en-US">First Term [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MinimumInterestPenalty" xlink:to="FSI_MinimumInterestPenalty_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_MinimumInterestPenalty_doc" xml:lang="en-US">Minimum interest penalty.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SecondTermMember" xlink:to="FSI_SecondTermMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SecondTermMember_doc" xml:lang="en-US">Second Term [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThirdTermMember" xlink:to="FSI_ThirdTermMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ThirdTermMember_doc" xml:lang="en-US">Third Term [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FourthTermMember" xlink:to="FSI_FourthTermMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_FourthTermMember_doc" xml:lang="en-US">Fourth Term [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FifthTermMember" xlink:to="FSI_FifthTermMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_FifthTermMember_doc" xml:lang="en-US">Fifth Term [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_Consulting" xlink:to="FSI_Consulting_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_Consulting_doc" xml:lang="en-US">Consulting.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestorRelationsAndTransferAgentFee" xlink:to="FSI_InvestorRelationsAndTransferAgentFee_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_InvestorRelationsAndTransferAgentFee_doc" xml:lang="en-US">Investor relations aand transfer agent fee.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ShippingCost" xlink:to="FSI_ShippingCost_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ShippingCost_doc" xml:lang="en-US">Shipping cost.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_Commissions" xlink:to="FSI_Commissions_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_Commissions_doc" xml:lang="en-US">Commissions.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfMethodOfDepreciationTableTextBlock" xlink:to="FSI_ScheduleOfMethodOfDepreciationTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfMethodOfDepreciationTableTextBlock_doc" xml:lang="en-US">Schedule Of Method Of Depreciation [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DepreciationMethodUsedAndAnnualRate" xlink:to="FSI_DepreciationMethodUsedAndAnnualRate_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_DepreciationMethodUsedAndAnnualRate_doc" xml:lang="en-US">Depreciation method used and annual rate.</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_BoatMember" xlink:label="FSI_BoatMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BoatMember" xlink:to="FSI_BoatMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_BoatMember_doc" xml:lang="en-US">Boat [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SoftwareMember" xlink:label="FSI_SoftwareMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SoftwareMember" xlink:to="FSI_SoftwareMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SoftwareMember_doc" xml:lang="en-US">Software [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LeaseRightOfUseFinancing" xlink:to="FSI_LeaseRightOfUseFinancing_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_LeaseRightOfUseFinancing_doc" xml:lang="en-US">Lease right of use financing.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_PaymentsToAcquireLongTermDeposits" xlink:to="FSI_PaymentsToAcquireLongTermDeposits_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_PaymentsToAcquireLongTermDeposits_doc" xml:lang="en-US">Payments to acquire long term deposits.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockIssuedInExchangeForServicesPolicyTextBlock" xlink:to="FSI_StockIssuedInExchangeForServicesPolicyTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockIssuedInExchangeForServicesPolicyTextBlock_doc" xml:lang="en-US">Stock Issued In Exchange For Services [Policy Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThreePrimaryCustomersMember" xlink:to="FSI_ThreePrimaryCustomersMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ThreePrimaryCustomersMember_doc" xml:lang="en-US">Three Primary Customers [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConcentrationRiskThresholdPercentage" xlink:to="FSI_ConcentrationRiskThresholdPercentage_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ConcentrationRiskThresholdPercentage_doc" xml:lang="en-US">Concentration Risk Threshold Percentage.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" xlink:to="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_doc" xml:lang="en-US">Summary Of Right of use Asset And Lease Liability [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestmentMember" xlink:to="FSI_InvestmentMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_InvestmentMember_doc" xml:lang="en-US">Investment [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease" xlink:to="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_doc" xml:lang="en-US">Right of use assets early termination of lease</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LeaseInterestExpense" xlink:to="FSI_LeaseInterestExpense_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_LeaseInterestExpense_doc" xml:lang="en-US">Lease interest expense.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnpPeruInvestmentsLlcMember" xlink:to="FSI_EnpPeruInvestmentsLlcMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EnpPeruInvestmentsLlcMember_doc" xml:lang="en-US">ENP Peru Investments LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemMember" xlink:to="FSI_NanoChemMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_NanoChemMember_doc" xml:lang="en-US">Nano Chem [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPInvestmentsLLCMember" xlink:to="FSI_ENPInvestmentsLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPInvestmentsLLCMember_doc" xml:lang="en-US">ENP Investments LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" xlink:to="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_AdditionalEquityMethodInvestmentOwnershipPercentage_doc" xml:lang="en-US">Additional equity method investment ownership percentage.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnpnvestmentsLlcMember" xlink:to="FSI_EnpnvestmentsLlcMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EnpnvestmentsLlcMember_doc" xml:lang="en-US">ENP Investments LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnPInvestmentsCorporationLLCMember" xlink:to="FSI_EnPInvestmentsCorporationLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EnPInvestmentsCorporationLLCMember_doc" xml:lang="en-US">ENP Investments Limited Liability Corporation (LLC) [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" xlink:to="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_doc" xml:lang="en-US">Business combination recognized identifiable assets acquired and liabilities assumed long term debt.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" xlink:to="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_doc" xml:lang="en-US">Business combination recognized identifiable assets acquired and liabilities assumed less purchase price.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_InvestmentEliminatedUponConsolidation" xlink:to="FSI_InvestmentEliminatedUponConsolidation_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_InvestmentEliminatedUponConsolidation_doc" xml:lang="en-US">Investment eliminated upon consolidation.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_GainOnAcquisitionOfSubsidiary" xlink:to="FSI_GainOnAcquisitionOfSubsidiary_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_GainOnAcquisitionOfSubsidiary_doc" xml:lang="en-US">Gain on acquisition of subsidiary.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EquityMethodInvestmentReturnOfEquity" xlink:to="FSI_EquityMethodInvestmentReturnOfEquity_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EquityMethodInvestmentReturnOfEquity_doc" xml:lang="en-US">Return of equity.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease" xlink:to="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease_doc" xml:lang="en-US">Operating lease liability early termination of lease</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_AppliedHoldingCorpMember" xlink:to="FSI_AppliedHoldingCorpMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_AppliedHoldingCorpMember_doc" xml:lang="en-US">Applied Holding Corp [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LongTermDepositsTextBlock" xlink:to="FSI_LongTermDepositsTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_LongTermDepositsTextBlock_doc" xml:lang="en-US">Long term deposits [Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_DebtInstrumentMaturityMonthYear" xlink:to="FSI_DebtInstrumentMaturityMonthYear_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_DebtInstrumentMaturityMonthYear_doc" xml:lang="en-US">Debt instrument maturity month year.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfLongTermDepositsTableTextBlock" xlink:to="FSI_ScheduleOfLongTermDepositsTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfLongTermDepositsTableTextBlock_doc" xml:lang="en-US">Schedule Of Long Term Deposits [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TrioOpportunityCorpMember" xlink:to="FSI_TrioOpportunityCorpMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TrioOpportunityCorpMember_doc" xml:lang="en-US">Trio Opportunity Corp [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_FloridaBasedLLCMember" xlink:to="FSI_FloridaBasedLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_FloridaBasedLLCMember_doc" xml:lang="en-US">Florida Based LLC [Member]</link:label>
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_TrailerMember" xlink:label="FSI_TrailerMember" />
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TrailerMember" xlink:to="FSI_TrailerMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TrailerMember_doc" xml:lang="en-US">Trailer [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RealizedInvestmentGainsLossesNet" xlink:to="FSI_RealizedInvestmentGainsLossesNet_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_RealizedInvestmentGainsLossesNet_doc" xml:lang="en-US">Net income.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LygosIncMember" xlink:to="FSI_LygosIncMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_LygosIncMember_doc" xml:lang="en-US">Lygos Inc [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardAndBankMember" xlink:to="FSI_StockYardAndBankMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockYardAndBankMember_doc" xml:lang="en-US">Stock Yard And Bank One [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MidlandStatesBankMember" xlink:to="FSI_MidlandStatesBankMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_MidlandStatesBankMember_doc" xml:lang="en-US">Midland States Bank [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NewAgreementMember" xlink:to="FSI_NewAgreementMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_NewAgreementMember_doc" xml:lang="en-US">New Agreement [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_PercentageOfForeignAccountsReceivableOfInventory" xlink:to="FSI_PercentageOfForeignAccountsReceivableOfInventory_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_PercentageOfForeignAccountsReceivableOfInventory_doc" xml:lang="en-US">Percentage of foreign accounts receivable of inventory.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LoanGuaranteedRate" xlink:to="FSI_LoanGuaranteedRate_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_LoanGuaranteedRate_doc" xml:lang="en-US">Loan guaranteed rate.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_NanoChemSolutionIncMember" xlink:to="FSI_NanoChemSolutionIncMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_NanoChemSolutionIncMember_doc" xml:lang="en-US">NanoChem Solutions Inc [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockBankMember" xlink:to="FSI_StockBankMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockBankMember_doc" xml:lang="en-US">Stock Bank [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EligiblePercentageOfDomesticAccountsReceivable" xlink:to="FSI_EligiblePercentageOfDomesticAccountsReceivable_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EligiblePercentageOfDomesticAccountsReceivable_doc" xml:lang="en-US">Eligible percentage of domestic accounts receivable.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_TermLoanMember" xlink:to="FSI_TermLoanMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_TermLoanMember_doc" xml:lang="en-US">Term Loan [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MidlandBankMember" xlink:to="FSI_MidlandBankMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_MidlandBankMember_doc" xml:lang="en-US">Midland Bank [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPMendotaMember" xlink:to="FSI_ENPMendotaMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPMendotaMember_doc" xml:lang="en-US">ENP Mendota, LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustMember" xlink:to="FSI_StockYardsBankTrustMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockYardsBankTrustMember_doc" xml:lang="en-US">Stock Yards Bank and Trust [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EnpRealtyLLCMember" xlink:to="FSI_EnpRealtyLLCMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EnpRealtyLLCMember_doc" xml:lang="en-US">ENP Realty LLC [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruInvestmentsMember" xlink:to="FSI_ENPPeruInvestmentsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPPeruInvestmentsMember_doc" xml:lang="en-US">ENP Peru Investments [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ENPPeruOneMember" xlink:to="FSI_ENPPeruOneMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ENPPeruOneMember_doc" xml:lang="en-US">ENP Peru One [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_MendotaMember" xlink:to="FSI_MendotaMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_MendotaMember_doc" xml:lang="en-US">Mendota [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfLoanCovenantsTableTextBlock" xlink:to="FSI_ScheduleOfLoanCovenantsTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfLoanCovenantsTableTextBlock_doc" xml:lang="en-US">Schedule of loan covenants [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_doc" xml:lang="en-US">Exercise price per share.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_doc" xml:lang="en-US">Exercise price per share, Granted.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_doc" xml:lang="en-US">Cancelled or expired, Exercise price per share.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_doc" xml:lang="en-US">Exercised, Exercise price per share.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_doc" xml:lang="en-US">Exercise price per share.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ConsultantsMember" xlink:to="FSI_ConsultantsMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ConsultantsMember_doc" xml:lang="en-US">Consultants [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_AdditionalExpensesDueToOptionsGranted" xlink:to="FSI_AdditionalExpensesDueToOptionsGranted_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_AdditionalExpensesDueToOptionsGranted_doc" xml:lang="en-US">Additional expenses due to options granted.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EmployeesMember" xlink:to="FSI_EmployeesMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EmployeesMember_doc" xml:lang="en-US">Employees [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfDistributionsTableTextBlock" xlink:to="FSI_ScheduleOfDistributionsTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfDistributionsTableTextBlock_doc" xml:lang="en-US">Schedule of Distributions [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OwnershipInterestPurchaseAgreementMember" xlink:to="FSI_OwnershipInterestPurchaseAgreementMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_OwnershipInterestPurchaseAgreementMember_doc" xml:lang="en-US">Ownership Interest Purchase Agreement [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" xlink:to="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_doc" xml:lang="en-US">Schedule Of Non Controlling Interest Related To Acquisition [Table Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_EWCPMember" xlink:to="FSI_EWCPMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_EWCPMember_doc" xml:lang="en-US">EWCP [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SegmentMember" xlink:to="FSI_SegmentMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SegmentMember_doc" xml:lang="en-US">Segment [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BCPAMember" xlink:to="FSI_BCPAMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_BCPAMember_doc" xml:lang="en-US">BCPA [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SegmentAssets" xlink:to="FSI_SegmentAssets_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_SegmentAssets_doc" xml:lang="en-US">Segment assets.</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ThreeCustomersMember" xlink:to="FSI_ThreeCustomersMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ThreeCustomersMember_doc" xml:lang="en-US">Three Customers [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockOptionExercisePercent" xlink:to="FSI_StockOptionExercisePercent_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockOptionExercisePercent_doc" xml:lang="en-US">Stock option exercise percent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_ComparativeFiguresTextBlock" xlink:to="FSI_ComparativeFiguresTextBlock_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_ComparativeFiguresTextBlock_doc" xml:lang="en-US">Comparative Figures [Text Block]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustOneMember" xlink:to="FSI_StockYardsBankTrustOneMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockYardsBankTrustOneMember_doc" xml:lang="en-US">Stock Yards Bank and Trust One [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustTwoMember" xlink:to="FSI_StockYardsBankTrustTwoMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockYardsBankTrustTwoMember_doc" xml:lang="en-US">Stock Yards Bank and Trust Two [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustThreeMember" xlink:to="FSI_StockYardsBankTrustThreeMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockYardsBankTrustThreeMember_doc" xml:lang="en-US">Stock Yards Bank and Trust Three [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustFourMember" xlink:to="FSI_StockYardsBankTrustFourMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockYardsBankTrustFourMember_doc" xml:lang="en-US">Stock Yards Bank and Trust Four [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_StockYardsBankTrustFiveMember" xlink:to="FSI_StockYardsBankTrustFiveMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_StockYardsBankTrustFiveMember_doc" xml:lang="en-US">Stock Yards Bank and Trust Five [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_UnitedStatesandAbroadMember" xlink:to="FSI_UnitedStatesandAbroadMember_doc" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="FSI_UnitedStatesandAbroadMember_doc" xml:lang="en-US">United States and Abroad [Member]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_2_lbl" xml:lang="en-US">Assets, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_2_lbl" xml:lang="en-US">Assets [Default Label]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_2_lbl" xml:lang="en-US">Liabilities, Current</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_2_lbl" xml:lang="en-US">Liabilities [Default Label]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_2_lbl" xml:lang="en-US">Equity, Attributable to Parent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_4_lbl" xml:lang="en-US">Equity, Including Portion Attributable to Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_2_lbl" xml:lang="en-US">Liabilities and Equity</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_2_lbl" xml:lang="en-US">Gross Profit</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_2_lbl" xml:lang="en-US">Gain (Loss), Foreign Currency Transaction, before Tax</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpenses_2_lbl" xml:lang="en-US">Operating Expenses [Default Label]</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_2_lbl" xml:lang="en-US">Operating Income (Loss)</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_LeaseTerminationFee" xlink:to="FSI_LeaseTerminationFee_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_LeaseTerminationFee_2_lbl" xml:lang="en-US">LeaseTerminationFee</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_2_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_2_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_2_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_2_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnTerminationOfLease" xlink:to="us-gaap_GainLossOnTerminationOfLease_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnTerminationOfLease_2_lbl" xml:lang="en-US">Gain (Loss) on Termination of Lease</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_2_lbl" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_2_lbl" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:to="us-gaap_IncreaseDecreaseInPrepaidExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidExpense_2_lbl" xml:lang="en-US">Increase (Decrease) in Prepaid Expense</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_PaymentsToAcquireLongTermDeposits" xlink:to="FSI_PaymentsToAcquireLongTermDeposits_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_PaymentsToAcquireLongTermDeposits_3_lbl" xml:lang="en-US">PaymentsToAcquireLongTermDeposits</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_3_lbl" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfLongTermDebt_2_lbl" xml:lang="en-US">Repayments of Long-Term Debt</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfFinancingCosts" xlink:to="us-gaap_PaymentsOfFinancingCosts_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfFinancingCosts_2_lbl" xml:lang="en-US">Payments of Financing Costs</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_2_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_2_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_3_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermInvestments" xlink:to="us-gaap_ShortTermInvestments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermInvestments_2_lbl" xml:lang="en-US">Short-Term Investments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesOutstanding_3_lbl" xml:lang="en-US">Shares, Outstanding</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_2_lbl" xml:lang="en-US">Operating Lease, Right-of-Use Asset, Periodic Reduction</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease" xlink:to="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_3_lbl" xml:lang="en-US">OperatingLeaseRightOfUseAssetEarlyTerminationOfLease</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiability_3_lbl" xml:lang="en-US">Operating Lease, Liability</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasePayments_2_lbl" xml:lang="en-US">Operating Lease, Payments</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease" xlink:to="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_OperatingLeaseLiabilityEarlyTerminationOfLease_3_lbl" xml:lang="en-US">OperatingLeaseLiabilityEarlyTerminationOfLease</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:to="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_2_lbl" xml:lang="en-US">Allowance for Doubtful Accounts, Premiums and Other Receivables</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsAndNotesReceivableNet" xlink:to="us-gaap_AccountsAndNotesReceivableNet_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsAndNotesReceivableNet_2_lbl" xml:lang="en-US">Accounts and Financing Receivable, after Allowance for Credit Loss</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_3_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Net</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfIntangibleAssets_2_lbl" xml:lang="en-US">Amortization of Intangible Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_2_lbl" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_2_lbl" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Buildings</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_2_lbl" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Land</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_2_lbl" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" xlink:to="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_3_lbl" xml:lang="en-US">BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_2_lbl" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" xlink:to="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_3_lbl" xml:lang="en-US">BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_RealizedInvestmentGainsLossesNet" xlink:to="FSI_RealizedInvestmentGainsLossesNet_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_RealizedInvestmentGainsLossesNet_3_lbl" xml:lang="en-US">RealizedInvestmentGainsLossesNet</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Revenues_2_lbl" xml:lang="en-US">Revenues</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForProceedsFromDepositOnLoan" xlink:to="us-gaap_PaymentsForProceedsFromDepositOnLoan_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForProceedsFromDepositOnLoan_2_lbl" xml:lang="en-US">Payments for (Proceeds from) Deposit on Loan</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_3_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_4_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_4_lbl" xml:lang="en-US">SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_3_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:to="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_3_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_3_lbl" xml:lang="en-US">SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:to="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_2_lbl" xml:lang="en-US">Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:to="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation_2_lbl" xml:lang="en-US">Noncontrolling Interest, Decrease from Deconsolidation</link:label>
      <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationNonproduction" xlink:to="us-gaap_DepreciationNonproduction_2_lbl" xlink:type="arc" />
      <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationNonproduction_2_lbl" xml:lang="en-US">Depreciation, Nonproduction</link:label>
    </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>9
<FILENAME>fsi-20240331_pre.xml
<DESCRIPTION>XBRL PRESENTATION FILE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.22b -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: https://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Cover" xlink:href="fsi-20240331.xsd#Cover" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets" xlink:href="fsi-20240331.xsd#InterimConsolidatedBalanceSheets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical" xlink:href="fsi-20240331.xsd#InterimConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" xlink:href="fsi-20240331.xsd#InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows" xlink:href="fsi-20240331.xsd#InterimConsolidatedStatementsOfCashFlows" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity" xlink:href="fsi-20240331.xsd#InterimConsolidatedStatementsOfStockholdersEquity" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:href="fsi-20240331.xsd#BasisOfPresentation" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:href="fsi-20240331.xsd#SignificantAccountingPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Leases" xlink:href="fsi-20240331.xsd#Leases" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivable" xlink:href="fsi-20240331.xsd#AccountsReceivable" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Inventories" xlink:href="fsi-20240331.xsd#Inventories" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" xlink:href="fsi-20240331.xsd#PropertyEquipmentAndLeaseholds" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" xlink:href="fsi-20240331.xsd#GoodwillAndIntangibleAssets" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDeposits" xlink:href="fsi-20240331.xsd#LongTermDeposits" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Investments" xlink:href="fsi-20240331.xsd#Investments" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Short-termLineOfCredit" xlink:href="fsi-20240331.xsd#Short-termLineOfCredit" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebt" xlink:href="fsi-20240331.xsd#LongTermDebt" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptions" xlink:href="fsi-20240331.xsd#StockOptions" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStock" xlink:href="fsi-20240331.xsd#CapitalStock" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:href="fsi-20240331.xsd#Non-controllingInterests" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:href="fsi-20240331.xsd#SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ComparativeFigures" xlink:href="fsi-20240331.xsd#ComparativeFigures" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEvents" xlink:href="fsi-20240331.xsd#SubsequentEvents" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:href="fsi-20240331.xsd#SignificantAccountingPoliciesPolicies" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:href="fsi-20240331.xsd#SignificantAccountingPoliciesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LeasesTables" xlink:href="fsi-20240331.xsd#LeasesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/AccountsReceivableTables" xlink:href="fsi-20240331.xsd#AccountsReceivableTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InventoriesTables" xlink:href="fsi-20240331.xsd#InventoriesTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" xlink:href="fsi-20240331.xsd#PropertyEquipmentAndLeaseholdsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" xlink:href="fsi-20240331.xsd#GoodwillAndIntangibleAssetsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDepositsTables" xlink:href="fsi-20240331.xsd#LongTermDepositsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InvestmentsTables" xlink:href="fsi-20240331.xsd#InvestmentsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebtTables" xlink:href="fsi-20240331.xsd#LongTermDebtTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptionsTables" xlink:href="fsi-20240331.xsd#StockOptionsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:href="fsi-20240331.xsd#Non-controllingInterestsTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:href="fsi-20240331.xsd#SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:href="fsi-20240331.xsd#BasisOfPresentationDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:href="fsi-20240331.xsd#ScheduleOfMethodOfDepreciationDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:href="fsi-20240331.xsd#SignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:href="fsi-20240331.xsd#SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LeasesDetailsNarrative" xlink:href="fsi-20240331.xsd#LeasesDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:href="fsi-20240331.xsd#ScheduleOfAccountsReceivableDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:href="fsi-20240331.xsd#ScheduleOfInventoryDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:href="fsi-20240331.xsd#PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:href="fsi-20240331.xsd#ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:href="fsi-20240331.xsd#GoodwillAndIntangibleAssetsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfLongTermDepositsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:href="fsi-20240331.xsd#ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:href="fsi-20240331.xsd#ScheduleOfEquityMethodInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:href="fsi-20240331.xsd#SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/InvestmentsDetailsNarrative" xlink:href="fsi-20240331.xsd#InvestmentsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative" xlink:href="fsi-20240331.xsd#Short-termLineOfCreditDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfLoanCovenantsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" xlink:href="fsi-20240331.xsd#ScheduleOfOutstandingBalanceLoanDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative" xlink:href="fsi-20240331.xsd#LongTermDebtDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:href="fsi-20240331.xsd#ScheduleOfStockOptionActivitiesDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/StockOptionsDetailsNarrative" xlink:href="fsi-20240331.xsd#StockOptionsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:href="fsi-20240331.xsd#CapitalStockDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfDistributionsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:href="fsi-20240331.xsd#ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:href="fsi-20240331.xsd#Non-controllingInterestsDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:href="fsi-20240331.xsd#ScheduleOfReportableSegmentsDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:href="fsi-20240331.xsd#ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:href="fsi-20240331.xsd#ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:href="fsi-20240331.xsd#SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:type="simple" />
    <link:roleRef roleURI="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" xlink:href="fsi-20240331.xsd#SubsequentEventsDetailsNarrative" xlink:type="simple" />
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Cover" xlink:title="00000001 - Document - Cover">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentType" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentDescription" xlink:label="loc_deiAmendmentDescription" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentDescription" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentRegistrationStatement" xlink:label="loc_deiDocumentRegistrationStatement" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentRegistrationStatement" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAnnualReport" xlink:label="loc_deiDocumentAnnualReport" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAnnualReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_deiDocumentQuarterlyReport" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentQuarterlyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentTransitionReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentShellCompanyReport" xlink:label="loc_deiDocumentShellCompanyReport" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyReport" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentShellCompanyEventDate" xlink:label="loc_deiDocumentShellCompanyEventDate" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentShellCompanyEventDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodStartDate" xlink:label="loc_deiDocumentPeriodStartDate" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodStartDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_deiDocumentFiscalPeriodFocus" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalPeriodFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_deiDocumentFiscalYearFocus" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalYearFocus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCurrentFiscalYearEndDate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFileNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityRegistrantName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCentralIndexKey" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPrimarySicNumber" xlink:label="loc_deiEntityPrimarySicNumber" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPrimarySicNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityTaxIdentificationNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityIncorporationStateCountryCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine3" xlink:label="loc_deiEntityAddressAddressLine3" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine3" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCityOrTown" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressStateOrProvince" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCountry" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressPostalZipCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CountryRegion" xlink:label="loc_deiCountryRegion" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCountryRegion" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCityAreaCode" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiLocalPhoneNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Extension" xlink:label="loc_deiExtension" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiExtension" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_WrittenCommunications" xlink:label="loc_deiWrittenCommunications" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiWrittenCommunications" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SolicitingMaterial" xlink:label="loc_deiSolicitingMaterial" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSolicitingMaterial" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementTenderOffer" xlink:label="loc_deiPreCommencementTenderOffer" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PreCommencementIssuerTenderOffer" xlink:label="loc_deiPreCommencementIssuerTenderOffer" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiPreCommencementIssuerTenderOffer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12bTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_NoTradingSymbolFlag" xlink:label="loc_deiNoTradingSymbolFlag" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiNoTradingSymbolFlag" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiTradingSymbol" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityExchangeName" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12gTitle" xlink:label="loc_deiSecurity12gTitle" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12gTitle" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityReportingObligation" xlink:label="loc_deiSecurityReportingObligation" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityReportingObligation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AnnualInformationForm" xlink:label="loc_deiAnnualInformationForm" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAnnualInformationForm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditedAnnualFinancialStatements" xlink:label="loc_deiAuditedAnnualFinancialStatements" />
      <link:presentationArc order="420" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAuditedAnnualFinancialStatements" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer" />
      <link:presentationArc order="430" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityWellKnownSeasonedIssuer" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers" />
      <link:presentationArc order="440" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityVoluntaryFilers" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus" />
      <link:presentationArc order="450" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCurrentReportingStatus" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent" />
      <link:presentationArc order="460" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityInteractiveDataCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory" />
      <link:presentationArc order="470" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFilerCategory" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness" />
      <link:presentationArc order="480" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntitySmallBusiness" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
      <link:presentationArc order="490" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityEmergingGrowthCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityExTransitionPeriod" xlink:label="loc_deiEntityExTransitionPeriod" />
      <link:presentationArc order="500" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityExTransitionPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard" />
      <link:presentationArc order="510" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentAccountingStandard" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_OtherReportingStandardItemNumber" xlink:label="loc_deiOtherReportingStandardItemNumber" />
      <link:presentationArc order="520" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiOtherReportingStandardItemNumber" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany" />
      <link:presentationArc order="530" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityShellCompany" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPublicFloat" xlink:label="loc_deiEntityPublicFloat" />
      <link:presentationArc order="540" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityPublicFloat" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityBankruptcyProceedingsReportingCurrent" xlink:label="loc_deiEntityBankruptcyProceedingsReportingCurrent" />
      <link:presentationArc order="550" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityBankruptcyProceedingsReportingCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding" />
      <link:presentationArc order="560" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCommonStockSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentsIncorporatedByReferenceTextBlock" xlink:label="loc_deiDocumentsIncorporatedByReferenceTextBlock" />
      <link:presentationArc order="570" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets" xlink:title="00000002 - Statement - Condensed Interim Consolidated Balance Sheets">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaapAssetsAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapAssetsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaapAssetsCurrentAbstract" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapAssetsCurrentAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapCash" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepositsAssetsCurrent" xlink:label="loc_us-gaapDepositsAssetsCurrent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapDepositsAssetsCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseCurrent" xlink:label="loc_us-gaapPrepaidExpenseCurrent" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapPrepaidExpenseCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract" xlink:to="loc_us-gaapAssetsCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapIntangibleAssetsNetExcludingGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="loc_us-gaapDepositsAssetsNoncurrent" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapDepositsAssetsNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapEquityMethodInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="loc_us-gaapDeferredIncomeTaxAssetsNet" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxAssetsNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract" xlink:to="loc_us-gaapAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAbstract" xlink:label="loc_us-gaapLiabilitiesAbstract" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapLiabilitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaapLiabilitiesCurrentAbstract" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapLiabilitiesCurrentAbstract" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccountsPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="loc_us-gaapDeferredRevenueCurrent" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapDeferredRevenueCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaapTaxesPayableCurrent" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapTaxesPayableCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapLinesOfCreditCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtCurrent" xlink:label="loc_us-gaapLongTermDebtCurrent" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapLongTermDebtCurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxLiabilitiesNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapLongTermDebtNoncurrent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaapStockholdersEquityAbstract" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAbstract" xlink:to="loc_us-gaapStockholdersEquityAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapCommonStockValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapAdditionalPaidInCapital" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapMinorityInterest" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical" xlink:title="00000003 - Statement - Condensed Interim Consolidated Balance Sheets (Parenthetical)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaapCommonStockSharesAuthorized" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockParOrStatedValuePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaapPreferredStockSharesAuthorized" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapPreferredStockSharesAuthorized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaapPreferredStockParOrStatedValuePerShare" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapPreferredStockParOrStatedValuePerShare" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaapCommonStockSharesIssued" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesIssued" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaapCommonStockSharesOutstanding" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract" xlink:to="loc_us-gaapCommonStockSharesOutstanding" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" xlink:title="00000004 - Statement - Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Loss) (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaapIncomeStatementAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapGrossProfit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="loc_us-gaapOperatingExpensesAbstract" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapOperatingExpensesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalariesAndWages" xlink:label="loc_us-gaapSalariesAndWages" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapSalariesAndWages" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OfficersCompensation" xlink:label="loc_us-gaapOfficersCompensation" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapOfficersCompensation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralInsuranceExpense" xlink:label="loc_us-gaapGeneralInsuranceExpense" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapGeneralInsuranceExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapInterestExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherGeneralExpense" xlink:label="loc_us-gaapOtherGeneralExpense" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapOtherGeneralExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapResearchAndDevelopmentExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_Consulting" xlink:label="loc_FSIConsulting" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_FSIConsulting" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UtilitiesOperatingExpense" xlink:label="loc_us-gaapUtilitiesOperatingExpense" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapUtilitiesOperatingExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="loc_us-gaapSellingAndMarketingExpense" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapSellingAndMarketingExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TravelAndEntertainmentExpense" xlink:label="loc_us-gaapTravelAndEntertainmentExpense" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapTravelAndEntertainmentExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfessionalFees" xlink:label="loc_us-gaapProfessionalFees" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapProfessionalFees" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_InvestorRelationsAndTransferAgentFee" xlink:label="loc_FSIInvestorRelationsAndTransferAgentFee" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_FSIInvestorRelationsAndTransferAgentFee" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseExpense" xlink:label="loc_us-gaapOperatingLeaseExpense" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapOperatingLeaseExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommunicationsAndInformationTechnology" xlink:label="loc_us-gaapCommunicationsAndInformationTechnology" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapCommunicationsAndInformationTechnology" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ShippingCost" xlink:label="loc_FSIShippingCost" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_FSIShippingCost" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapForeignCurrencyTransactionGainLossBeforeTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_Commissions" xlink:label="loc_FSICommissions" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_FSICommissions" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract" xlink:to="loc_us-gaapOperatingExpenses" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_LeaseTerminationFee" xlink:label="loc_FSILeaseTerminationFee" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_FSILeaseTerminationFee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnInvestments" xlink:label="loc_us-gaapGainLossOnInvestments" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapGainLossOnInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeOther" xlink:label="loc_us-gaapInterestIncomeOther" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapInterestIncomeOther" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract" xlink:label="loc_us-gaapDeferredIncomeTaxesAndTaxCreditsAbstract" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapDeferredIncomeTaxesAndTaxCreditsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDeferredIncomeTaxesAndTaxCreditsAbstract" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapEarningsPerShareBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapEarningsPerShareDiluted" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" />
      <link:presentationArc order="360" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss_2" />
      <link:presentationArc order="370" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="loc_us-gaapProfitLoss_2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
      <link:presentationArc order="380" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
      <link:presentationArc order="390" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" />
      <link:presentationArc order="400" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTax" />
      <link:presentationArc order="410" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows" xlink:title="00000005 - Statement - Condensed Interim Consolidated Statements of Cash Flows (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaapStatementOfCashFlowsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaapDepreciationAndAmortization" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapDepreciationAndAmortization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="loc_us-gaapFinanceLeaseRightOfUseAssetAmortization" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapFinanceLeaseRightOfUseAssetAmortization" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_LeaseRightOfUseFinancing" xlink:label="loc_FSILeaseRightOfUseFinancing" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_FSILeaseRightOfUseFinancing" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnTerminationOfLease" xlink:label="loc_us-gaapGainLossOnTerminationOfLease" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapGainLossOnTerminationOfLease" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnInvestments" xlink:label="loc_us-gaapGainLossOnInvestments" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapGainLossOnInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidExpense" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidExpense" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_PaymentsToAcquireLongTermDeposits" xlink:label="loc_FSIPaymentsToAcquireLongTermDeposits" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_FSIPaymentsToAcquireLongTermDeposits" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="loc_us-gaapProceedsFromSaleOfEquityMethodInvestments" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromSaleOfEquityMethodInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
      <link:presentationArc order="210" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" />
      <link:presentationArc order="220" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="loc_us-gaapProceedsFromLinesOfCredit" />
      <link:presentationArc order="230" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromLinesOfCredit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="loc_us-gaapRepaymentsOfLongTermDebt" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapRepaymentsOfLongTermDebt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:label="loc_us-gaapProceedsFromIssuanceOfLongTermDebt" />
      <link:presentationArc order="250" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromIssuanceOfLongTermDebt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfFinancingCosts" xlink:label="loc_us-gaapPaymentsOfFinancingCosts" />
      <link:presentationArc order="260" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapPaymentsOfFinancingCosts" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfCommonStock" />
      <link:presentationArc order="270" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapProceedsFromIssuanceOfCommonStock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
      <link:presentationArc order="280" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:presentationArc order="290" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
      <link:presentationArc order="300" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" />
      <link:presentationArc order="310" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2" />
      <link:presentationArc order="320" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" />
      <link:presentationArc order="330" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:to="loc_us-gaapCash" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermInvestments" xlink:label="loc_us-gaapShortTermInvestments" />
      <link:presentationArc order="350" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract" xlink:to="loc_us-gaapShortTermInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity" xlink:title="00000006 - Statement - Condensed Interim Consolidated Statements of Stockholders&apos; Equity (Unaudited)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaapStatementOfStockholdersEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfStockholdersEquityAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="70" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapCommonStockMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_CapitalInExcessOfParValueMember" xlink:label="loc_FSICapitalInExcessOfParValueMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_FSICapitalInExcessOfParValueMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapRetainedEarningsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ParentMember" xlink:label="loc_us-gaapParentMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapParentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="loc_us-gaapNoncontrollingInterestMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapNoncontrollingInterestMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueNewIssues" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueNewIssues" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_2" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding_2" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentation" xlink:title="00000007 - Disclosure - BASIS OF PRESENTATION">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="loc_us-gaapBusinessDescriptionAndBasisOfPresentationTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapBusinessDescriptionAndBasisOfPresentationTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPolicies" xlink:title="00000008 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaapSignificantAccountingPoliciesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapSignificantAccountingPoliciesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Leases" xlink:title="00000009 - Disclosure - LEASES">
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_DisclosureLeasesAbstract" xlink:label="loc_FSIDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="loc_us-gaapLesseeOperatingLeasesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeasesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivable" xlink:title="00000010 - Disclosure - ACCOUNTS RECEIVABLE">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesAbstract" xlink:label="loc_us-gaapReceivablesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinancingReceivablesTextBlock" xlink:label="loc_us-gaapFinancingReceivablesTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapFinancingReceivablesTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Inventories" xlink:title="00000011 - Disclosure - INVENTORIES">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="loc_us-gaapInventoryDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds" xlink:title="00000012 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets" xlink:title="00000013 - Disclosure - GOODWILL AND INTANGIBLE ASSETS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDeposits" xlink:title="00000014 - Disclosure - LONG TERM DEPOSITS">
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_DisclosureLongTermDepositsAbstract" xlink:label="loc_FSIDisclosureLongTermDepositsAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_LongTermDepositsTextBlock" xlink:label="loc_FSILongTermDepositsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLongTermDepositsAbstract" xlink:to="loc_FSILongTermDepositsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Investments" xlink:title="00000015 - Disclosure - INVESTMENTS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:label="loc_us-gaapEquityMethodInvestmentsDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapEquityMethodInvestmentsDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Short-termLineOfCredit" xlink:title="00000016 - Disclosure - SHORT-TERM LINE OF CREDIT">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTextBlock" xlink:label="loc_us-gaapShortTermDebtTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapShortTermDebtTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebt" xlink:title="00000017 - Disclosure - LONG TERM DEBT">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="loc_us-gaapLongTermDebtTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebtTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptions" xlink:title="00000018 - Disclosure - STOCK OPTIONS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStock" xlink:title="00000019 - Disclosure - CAPITAL STOCK">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaapStockholdersEquityNoteDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapStockholdersEquityNoteDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterests" xlink:title="00000020 - Disclosure - NON-CONTROLLING INTERESTS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="loc_us-gaapNoncontrollingInterestAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestDisclosureTextBlock" xlink:label="loc_us-gaapMinorityInterestDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_us-gaapMinorityInterestDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency" xlink:title="00000021 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="loc_us-gaapSegmentReportingDisclosureTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapSegmentReportingDisclosureTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ComparativeFigures" xlink:title="00000022 - Disclosure - COMPARATIVE FIGURES">
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_DisclosureComparativeFiguresAbstract" xlink:label="loc_FSIDisclosureComparativeFiguresAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ComparativeFiguresTextBlock" xlink:label="loc_FSIComparativeFiguresTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureComparativeFiguresAbstract" xlink:to="loc_FSIComparativeFiguresTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEvents" xlink:title="00000023 - Disclosure - SUBSEQUENT EVENTS">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaapSubsequentEventsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="loc_us-gaapSubsequentEventsTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventsAbstract" xlink:to="loc_us-gaapSubsequentEventsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies" xlink:title="00000024 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="loc_us-gaapCashAndCashEquivalentsPolicyTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapCashAndCashEquivalentsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_TermDepositsPolicyTextBlock" xlink:label="loc_FSITermDepositsPolicyTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_FSITermDepositsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="loc_us-gaapInventoryPolicyTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapInventoryPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" xlink:label="loc_us-gaapPremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapPremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentPolicyTextBlock" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="loc_us-gaapImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="loc_us-gaapForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="loc_us-gaapRevenueFromContractWithCustomerPolicyTextBlock" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapRevenueFromContractWithCustomerPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockIssuedInExchangeForServicesPolicyTextBlock" xlink:label="loc_FSIStockIssuedInExchangeForServicesPolicyTextBlock" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_FSIStockIssuedInExchangeForServicesPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationRelatedCostsPolicyTextBlock" xlink:label="loc_us-gaapCompensationRelatedCostsPolicyTextBlock" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapCompensationRelatedCostsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="loc_us-gaapComprehensiveIncomePolicyPolicyTextBlock" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapComprehensiveIncomePolicyPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="loc_us-gaapEarningsPerSharePolicyTextBlock" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapEarningsPerSharePolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UseOfEstimates" xlink:label="loc_us-gaapUseOfEstimates" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapUseOfEstimates" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="loc_us-gaapFairValueOfFinancialInstrumentsPolicy" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapFairValueOfFinancialInstrumentsPolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:label="loc_us-gaapCommitmentsAndContingenciesPolicyTextBlock" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapCommitmentsAndContingenciesPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="loc_us-gaapIncomeTaxPolicyTextBlock" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapIncomeTaxPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="loc_us-gaapConcentrationRiskCreditRisk" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapConcentrationRiskCreditRisk" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsPolicy" xlink:label="loc_us-gaapEquityMethodInvestmentsPolicy" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapEquityMethodInvestmentsPolicy" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsPolicyTextBlock" />
      <link:presentationArc order="180" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapGoodwillAndIntangibleAssetsPolicyTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables" xlink:title="00000025 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ScheduleOfMethodOfDepreciationTableTextBlock" xlink:label="loc_FSIScheduleOfMethodOfDepreciationTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_FSIScheduleOfMethodOfDepreciationTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LeasesTables" xlink:title="00000026 - Disclosure - LEASES (Tables)">
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_DisclosureLeasesAbstract" xlink:label="loc_FSIDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" xlink:label="loc_FSISummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_FSISummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/AccountsReceivableTables" xlink:title="00000027 - Disclosure - ACCOUNTS RECEIVABLE (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesAbstract" xlink:label="loc_us-gaapReceivablesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="loc_us-gaapAccountsReceivableAllowanceForCreditLossTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapAccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InventoriesTables" xlink:title="00000028 - Disclosure - INVENTORIES (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables" xlink:title="00000029 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables" xlink:title="00000030 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" xlink:label="loc_us-gaapScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfIntangibleAssetsAndGoodwillTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaapScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDepositsTables" xlink:title="00000031 - Disclosure - LONG TERM DEPOSITS (Tables)">
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_DisclosureLongTermDepositsAbstract" xlink:label="loc_FSIDisclosureLongTermDepositsAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ScheduleOfLongTermDepositsTableTextBlock" xlink:label="loc_FSIScheduleOfLongTermDepositsTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLongTermDepositsAbstract" xlink:to="loc_FSIScheduleOfLongTermDepositsTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InvestmentsTables" xlink:title="00000032 - Disclosure - INVESTMENTS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="loc_FSIEnpPeruInvestmentsLlcMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnpPeruInvestmentsLlcMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:label="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="loc_us-gaapEquityMethodInvestmentsTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentsTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnInvestmentsTextBlock" xlink:label="loc_us-gaapGainLossOnInvestmentsTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGainLossOnInvestmentsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebtTables" xlink:title="00000033 - Disclosure - LONG TERM DEBT (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ScheduleOfLoanCovenantsTableTextBlock" xlink:label="loc_FSIScheduleOfLoanCovenantsTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_FSIScheduleOfLoanCovenantsTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDebtInstrumentsTextBlock" xlink:label="loc_us-gaapScheduleOfDebtInstrumentsTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfDebtInstrumentsTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptionsTables" xlink:title="00000034 - Disclosure - STOCK OPTIONS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsTables" xlink:title="00000035 - Disclosure - NON-CONTROLLING INTERESTS (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="loc_us-gaapNoncontrollingInterestAbstract" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ScheduleOfDistributionsTableTextBlock" xlink:label="loc_FSIScheduleOfDistributionsTableTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_FSIScheduleOfDistributionsTableTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" xlink:label="loc_FSIScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_FSIScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables" xlink:title="00000036 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:label="loc_us-gaapReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="loc_us-gaapScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:label="loc_us-gaapScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative" xlink:title="00000037 - Disclosure - BASIS OF PRESENTATION (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtOwnershipAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPInvestmentsLLCAndENPMendotaMember" xlink:label="loc_FSIENPInvestmentsLLCAndENPMendotaMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCAndENPMendotaMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPPeruMember" xlink:label="loc_FSIENPPeruMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPPeruMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_UnrelatedPartyMember" xlink:label="loc_FSIUnrelatedPartyMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIUnrelatedPartyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:label="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_IncreaseDecreaseInSharePercentage" xlink:label="loc_FSIIncreaseDecreaseInSharePercentage" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIIncreaseDecreaseInSharePercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_RemainingInvestmentOwnedPercentage" xlink:label="loc_FSIRemainingInvestmentOwnedPercentage" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIRemainingInvestmentOwnedPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByNoncontrollingOwners" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails" xlink:title="00000038 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="loc_us-gaapMachineryAndEquipmentMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapMachineryAndEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OfficeEquipmentMember" xlink:label="loc_us-gaapOfficeEquipmentMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapOfficeEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="loc_us-gaapBuildingAndBuildingImprovementsMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingAndBuildingImprovementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AutomobilesMember" xlink:label="loc_us-gaapAutomobilesMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapAutomobilesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TechnologyEquipmentMember" xlink:label="loc_us-gaapTechnologyEquipmentMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapTechnologyEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaapCustomerRelationshipsMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapCustomerRelationshipsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_DepreciationMethodUsedAndAnnualRate" xlink:label="loc_FSIDepreciationMethodUsedAndAnnualRate" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_FSIDepreciationMethodUsedAndAnnualRate" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative" xlink:title="00000039 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfProductInformationTable" xlink:label="loc_us-gaapScheduleOfProductInformationTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract" xlink:to="loc_us-gaapScheduleOfProductInformationTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductInformationLineItems" xlink:label="loc_us-gaapProductInformationLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapProductInformationLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="loc_us-gaapShortTermDebtTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapShortTermDebtTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeAxis" xlink:to="loc_us-gaapShortTermDebtTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_FirstTermMember" xlink:label="loc_FSIFirstTermMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSIFirstTermMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SecondTermMember" xlink:label="loc_FSISecondTermMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSISecondTermMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ThirdTermMember" xlink:label="loc_FSIThirdTermMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSIThirdTermMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_FourthTermMember" xlink:label="loc_FSIFourthTermMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSIFourthTermMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_FifthTermMember" xlink:label="loc_FSIFifthTermMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_FSIFifthTermMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtProductOrServiceAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="loc_us-gaapShippingAndHandlingMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_us-gaapShippingAndHandlingMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ThreePrimaryCustomersMember" xlink:label="loc_FSIThreePrimaryCustomersMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_FSIThreePrimaryCustomersMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerMember" xlink:label="loc_us-gaapRevenueFromContractWithCustomerMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapRevenueFromContractWithCustomerMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfProductInformationTable" xlink:to="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_InvestmentMember" xlink:label="loc_FSIInvestmentMember" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIInvestmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Deposits" xlink:label="loc_us-gaapDeposits" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapDeposits" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_MinimumInterestPenalty" xlink:label="loc_FSIMinimumInterestPenalty" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_FSIMinimumInterestPenalty" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaapCostOfGoodsAndServicesSold" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapCostOfGoodsAndServicesSold" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ConcentrationRiskThresholdPercentage" xlink:label="loc_FSIConcentrationRiskThresholdPercentage" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_FSIConcentrationRiskThresholdPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities" xlink:label="loc_us-gaapEquityMethodInvestmentDescriptionOfPrincipalActivities" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapProductInformationLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentDescriptionOfPrincipalActivities" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails" xlink:title="00000040 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)">
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_DisclosureLeasesAbstract" xlink:label="loc_FSIDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLeaseIncomeLeasePayments" xlink:label="loc_us-gaapOperatingLeaseLeaseIncomeLeasePayments" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseLeaseIncomeLeasePayments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SecurityDeposit" xlink:label="loc_us-gaapSecurityDeposit" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapSecurityDeposit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnTerminationOfLease" xlink:label="loc_us-gaapGainLossOnTerminationOfLease" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapGainLossOnTerminationOfLease" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease" xlink:label="loc_FSIOperatingLeaseRightOfUseAssetEarlyTerminationOfLease" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_FSIOperatingLeaseRightOfUseAssetEarlyTerminationOfLease" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset_2" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiability" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_LeaseInterestExpense" xlink:label="loc_FSILeaseInterestExpense" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_FSILeaseInterestExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasePayments" xlink:label="loc_us-gaapOperatingLeasePayments" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeasePayments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_OperatingLeaseLiabilityEarlyTerminationOfLease" xlink:label="loc_FSIOperatingLeaseLiabilityEarlyTerminationOfLease" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_FSIOperatingLeaseLiabilityEarlyTerminationOfLease" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability_2" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapOperatingLeaseLiability_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LeasesDetailsNarrative" xlink:title="00000041 - Disclosure - LEASES (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_DisclosureLeasesAbstract" xlink:label="loc_FSIDisclosureLeasesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseDiscountRate" xlink:label="loc_us-gaapLesseeOperatingLeaseDiscountRate" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLeasesAbstract" xlink:to="loc_us-gaapLesseeOperatingLeaseDiscountRate" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails" xlink:title="00000042 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesAbstract" xlink:label="loc_us-gaapReceivablesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGross" xlink:label="loc_us-gaapAccountsReceivableGross" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapAccountsReceivableGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsPremiumsAndOtherReceivables" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsAndNotesReceivableNet" xlink:label="loc_us-gaapAccountsAndNotesReceivableNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesAbstract" xlink:to="loc_us-gaapAccountsAndNotesReceivableNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfInventoryDetails" xlink:title="00000043 - Disclosure - SCHEDULE OF INVENTORY (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods" xlink:label="loc_us-gaapInventoryFinishedGoods" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryFinishedGoods" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsAndSupplies" xlink:label="loc_us-gaapInventoryRawMaterialsAndSupplies" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryRawMaterialsAndSupplies" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails" xlink:title="00000044 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaapPropertyPlantAndEquipmentLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfPropertyPlantAndEquipmentTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="loc_us-gaapBuildingAndBuildingImprovementsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingAndBuildingImprovementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AutomobilesMember" xlink:label="loc_us-gaapAutomobilesMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapAutomobilesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OfficeEquipmentMember" xlink:label="loc_us-gaapOfficeEquipmentMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapOfficeEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="loc_us-gaapMachineryAndEquipmentMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapMachineryAndEquipmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LandMember" xlink:label="loc_us-gaapLandMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLandMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaapDevelopedTechnologyRightsMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapDevelopedTechnologyRightsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative" xlink:title="00000045 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaapDepreciation" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract" xlink:to="loc_us-gaapDepreciation" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails" xlink:title="00000046 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EnPInvestmentsCorporationLLCMember" xlink:label="loc_FSIEnPInvestmentsCorporationLLCMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnPInvestmentsCorporationLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGoodwill" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:label="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet_2" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsNet_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails" xlink:title="00000047 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareTable" xlink:label="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems" xlink:label="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" xlink:to="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="loc_us-gaapFairValueByAssetClassAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareTable" xlink:to="loc_us-gaapFairValueByAssetClassAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueByAssetClassAxis" xlink:to="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMember" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapImpairmentEffectsOnEarningsPerShareLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative" xlink:title="00000048 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails" xlink:title="00000049 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)">
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_DisclosureLongTermDepositsAbstract" xlink:label="loc_FSIDisclosureLongTermDepositsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepositsAssetsNoncurrent" xlink:label="loc_us-gaapDepositsAssetsNoncurrent" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_FSIDisclosureLongTermDepositsAbstract" xlink:to="loc_us-gaapDepositsAssetsNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails" xlink:title="00000050 - Disclosure - SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaapBusinessCombinationConsiderationTransferred1" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapBusinessCombinationConsiderationTransferred1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" xlink:label="loc_FSIBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_FSIBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:label="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" xlink:label="loc_FSIBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_FSIBusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_InvestmentEliminatedUponConsolidation" xlink:label="loc_FSIInvestmentEliminatedUponConsolidation" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_FSIInvestmentEliminatedUponConsolidation" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_GainOnAcquisitionOfSubsidiary" xlink:label="loc_FSIGainOnAcquisitionOfSubsidiary" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_FSIGainOnAcquisitionOfSubsidiary" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails" xlink:title="00000051 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_deiLegalEntityAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="loc_FSIEnpPeruInvestmentsLlcMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnpPeruInvestmentsLlcMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestments" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EquityMethodInvestmentReturnOfEquity" xlink:label="loc_FSIEquityMethodInvestmentReturnOfEquity" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIEquityMethodInvestmentReturnOfEquity" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="loc_us-gaapEquityMethodInvestmentRealizedGainLossOnDisposal" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentRealizedGainLossOnDisposal" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_InvestmentEliminatedUponConsolidation" xlink:label="loc_FSIInvestmentEliminatedUponConsolidation" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIInvestmentEliminatedUponConsolidation" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestments" xlink:label="loc_us-gaapEquityMethodInvestments_2" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestments_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails" xlink:title="00000052 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainsLossesOnSalesOfInvestmentRealEstate" xlink:label="loc_us-gaapGainsLossesOnSalesOfInvestmentRealEstate" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapGainsLossesOnSalesOfInvestmentRealEstate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RealizedInvestmentGainsLosses" xlink:label="loc_us-gaapRealizedInvestmentGainsLosses" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapRealizedInvestmentGainsLosses" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_RealizedInvestmentGainsLossesNet" xlink:label="loc_FSIRealizedInvestmentGainsLossesNet" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_FSIRealizedInvestmentGainsLossesNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/InvestmentsDetailsNarrative" xlink:title="00000053 - Disclosure - INVESTMENTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract" xlink:label="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityMethodInvestmentsAndJointVenturesAbstract" xlink:to="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EnpPeruInvestmentsLlcMember" xlink:label="loc_FSIEnpPeruInvestmentsLlcMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIEnpPeruInvestmentsLlcMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_NanoChemMember" xlink:label="loc_FSINanoChemMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSINanoChemMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIENPInvestmentsLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember" />
      <link:presentationArc order="190" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_FSIFloridaBasedLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_srtOwnershipAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPPeruMember" xlink:label="loc_FSIENPPeruMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPPeruMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EnpnvestmentsLlcMember" xlink:label="loc_FSIEnpnvestmentsLlcMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIEnpnvestmentsLlcMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_deiLegalEntityAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_AppliedHoldingCorpMember" xlink:label="loc_FSIAppliedHoldingCorpMember" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIAppliedHoldingCorpMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_TrioOpportunityCorpMember" xlink:label="loc_FSITrioOpportunityCorpMember" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSITrioOpportunityCorpMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_FloridaBasedLLCMember" xlink:label="loc_FSIFloridaBasedLLCMember_2" />
      <link:presentationArc order="200" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIFloridaBasedLLCMember_2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_LygosIncMember" xlink:label="loc_FSILygosIncMember" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSILygosIncMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaapStatementClassOfStockAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsTable" xlink:to="loc_us-gaapStatementClassOfStockAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaapClassOfStockDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementClassOfStockAxis" xlink:to="loc_us-gaapClassOfStockDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonClassBMember" xlink:label="loc_us-gaapCommonClassBMember" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapClassOfStockDomain" xlink:to="loc_us-gaapCommonClassBMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="loc_us-gaapEquityMethodInvestmentOwnershipPercentage" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentOwnershipPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_AdditionalEquityMethodInvestmentOwnershipPercentage" xlink:label="loc_FSIAdditionalEquityMethodInvestmentOwnershipPercentage" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_FSIAdditionalEquityMethodInvestmentOwnershipPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaapBusinessCombinationConsiderationTransferred1" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapBusinessCombinationConsiderationTransferred1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapCash" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByNoncontrollingOwners" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Investments" xlink:label="loc_us-gaapInvestments" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapInvestments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_DebtInstrumentMaturityMonthYear" xlink:label="loc_FSIDebtInstrumentMaturityMonthYear" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_FSIDebtInstrumentMaturityMonthYear" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharePrice" xlink:label="loc_us-gaapSharePrice" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapSharePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapRevenues" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapAccountsReceivableNet" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaapPaymentsToAcquireInvestments" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEquityMethodInvestmentsLineItems" xlink:to="loc_us-gaapPaymentsToAcquireInvestments" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative" xlink:title="00000054 - Disclosure - SHORT-TERM LINE OF CREDIT (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="loc_us-gaapLineOfCreditFacilityTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLineOfCreditFacilityTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="loc_us-gaapLineOfCreditFacilityLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapLineOfCreditFacilityLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="loc_us-gaapLineOfCreditFacilityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapLineOfCreditFacilityAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="loc_us-gaapLineOfCreditFacilityLenderDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityAxis" xlink:to="loc_us-gaapLineOfCreditFacilityLenderDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardAndBankMember" xlink:label="loc_FSIStockYardAndBankMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:to="loc_FSIStockYardAndBankMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockBankMember" xlink:label="loc_FSIStockBankMember" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLenderDomain" xlink:to="loc_FSIStockBankMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_MidlandStatesBankMember" xlink:label="loc_FSIMidlandStatesBankMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIMidlandStatesBankMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_NewAgreementMember" xlink:label="loc_FSINewAgreementMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSINewAgreementMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_deiLegalEntityAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_NanoChemSolutionIncMember" xlink:label="loc_FSINanoChemSolutionIncMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemSolutionIncMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="50" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="loc_us-gaapNoncontrollingInterestMember" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapNoncontrollingInterestMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="loc_us-gaapCreditFacilityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityTable" xlink:to="loc_us-gaapCreditFacilityAxis" order="60" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="loc_us-gaapCreditFacilityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCreditFacilityAxis" xlink:to="loc_us-gaapCreditFacilityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="loc_us-gaapRevolvingCreditFacilityMember" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCreditFacilityDomain" xlink:to="loc_us-gaapRevolvingCreditFacilityMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityCurrentBorrowingCapacity" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityCurrentBorrowingCapacity" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_PercentageOfForeignAccountsReceivableOfInventory" xlink:label="loc_FSIPercentageOfForeignAccountsReceivableOfInventory" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSIPercentageOfForeignAccountsReceivableOfInventory" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaapDebtInstrumentFaceAmount" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentFaceAmount" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_LoanGuaranteedRate" xlink:label="loc_FSILoanGuaranteedRate" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSILoanGuaranteedRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="loc_us-gaapLinesOfCreditCurrent" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapLinesOfCreditCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermBorrowings" xlink:label="loc_us-gaapShortTermBorrowings" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_us-gaapShortTermBorrowings" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EligiblePercentageOfDomesticAccountsReceivable" xlink:label="loc_FSIEligiblePercentageOfDomesticAccountsReceivable" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLineOfCreditFacilityLineItems" xlink:to="loc_FSIEligiblePercentageOfDomesticAccountsReceivable" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails" xlink:title="00000055 - Disclosure - SCHEDULE OF LOAN COVENANTS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaapLongTermDebt" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebt" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromBankDebt" xlink:label="loc_us-gaapProceedsFromBankDebt" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapProceedsFromBankDebt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForProceedsFromDepositOnLoan" xlink:label="loc_us-gaapPaymentsForProceedsFromDepositOnLoan" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapPaymentsForProceedsFromDepositOnLoan" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaapLongTermDebt_2" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapLongTermDebt_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails" xlink:title="00000056 - Disclosure - SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardsBankTrustMember" xlink:label="loc_FSIStockYardsBankTrustMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardsBankTrustOneMember" xlink:label="loc_FSIStockYardsBankTrustOneMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardsBankTrustTwoMember" xlink:label="loc_FSIStockYardsBankTrustTwoMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustTwoMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardsBankTrustThreeMember" xlink:label="loc_FSIStockYardsBankTrustThreeMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustThreeMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardsBankTrustFourMember" xlink:label="loc_FSIStockYardsBankTrustFourMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustFourMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardsBankTrustFiveMember" xlink:label="loc_FSIStockYardsBankTrustFiveMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustFiveMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebt" xlink:label="loc_us-gaapLongTermDebt" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapLongTermDebt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtCurrent" xlink:label="loc_us-gaapLongTermDebtCurrent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapLongTermDebtCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="loc_us-gaapLongTermDebtNoncurrent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDefinedBenefitPlanDisclosureLineItems" xlink:to="loc_us-gaapLongTermDebtNoncurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative" xlink:title="00000057 - Disclosure - LONG TERM DEBT (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShortTermDebtTable" xlink:label="loc_us-gaapScheduleOfShortTermDebtTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract" xlink:to="loc_us-gaapScheduleOfShortTermDebtTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtLineItems" xlink:label="loc_us-gaapShortTermDebtLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapShortTermDebtLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaapDebtInstrumentAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapDebtInstrumentAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_TermLoanMember" xlink:label="loc_FSITermLoanMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_FSITermLoanMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyDomain" xlink:label="loc_us-gaapRelatedPartyDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsByRelatedPartyAxis" xlink:to="loc_us-gaapRelatedPartyDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_MidlandBankMember" xlink:label="loc_FSIMidlandBankMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIMidlandBankMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockYardsBankTrustMember" xlink:label="loc_FSIStockYardsBankTrustMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyDomain" xlink:to="loc_FSIStockYardsBankTrustMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LegalEntityAxis" xlink:label="loc_deiLegalEntityAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_deiLegalEntityAxis" order="30" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityDomain" xlink:label="loc_deiEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiLegalEntityAxis" xlink:to="loc_deiEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPMendotaMember" xlink:label="loc_FSIENPMendotaMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPMendotaMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EnpRealtyLLCMember" xlink:label="loc_FSIEnpRealtyLLCMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIEnpRealtyLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_NanoChemMember" xlink:label="loc_FSINanoChemMember" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSINanoChemMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPPeruInvestmentsMember" xlink:label="loc_FSIENPPeruInvestmentsMember" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPPeruInvestmentsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPPeruOneMember" xlink:label="loc_FSIENPPeruOneMember" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIENPPeruOneMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_MendotaMember" xlink:label="loc_FSIMendotaMember" />
      <link:presentationArc order="340" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityDomain" xlink:to="loc_FSIMendotaMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateAxis" xlink:label="loc_us-gaapVariableRateAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShortTermDebtTable" xlink:to="loc_us-gaapVariableRateAxis" order="40" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateDomain" xlink:label="loc_us-gaapVariableRateDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapVariableRateAxis" xlink:to="loc_us-gaapVariableRateDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrimeRateMember" xlink:label="loc_us-gaapPrimeRateMember" />
      <link:presentationArc order="240" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapVariableRateDomain" xlink:to="loc_us-gaapPrimeRateMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="loc_us-gaapDebtInstrumentFaceAmount" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentFaceAmount" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentTerm" xlink:label="loc_us-gaapDebtInstrumentTerm" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentTerm" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateStatedPercentage" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpenseDebt" xlink:label="loc_us-gaapInterestExpenseDebt" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapInterestExpenseDebt" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtDefaultLongtermDebtAmount" xlink:label="loc_us-gaapDebtDefaultLongtermDebtAmount" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapDebtDefaultLongtermDebtAmount" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LoansPayable" xlink:label="loc_us-gaapLoansPayable" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapLoansPayable" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtLineItems" xlink:to="loc_us-gaapInterestExpense" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails" xlink:title="00000058 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" />
      <link:presentationArc order="120" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_2" />
      <link:presentationArc order="130" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2" />
      <link:presentationArc order="140" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
      <link:presentationArc order="150" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:label="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" />
      <link:presentationArc order="160" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_FSISharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
      <link:presentationArc order="170" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails" xlink:title="00000059 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="loc_srtRangeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_srtRangeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="loc_srtRangeMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeAxis" xlink:to="loc_srtRangeMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="loc_srtMinimumMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMinimumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="loc_srtMaximumMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtRangeMember" xlink:to="loc_srtMaximumMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/StockOptionsDetailsNarrative" xlink:title="00000060 - Disclosure - STOCK OPTIONS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="loc_us-gaapStatementTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualAxis" xlink:label="loc_srtTitleOfIndividualAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtTitleOfIndividualAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualAxis" xlink:to="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ConsultantsMember" xlink:label="loc_FSIConsultantsMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIConsultantsMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EmployeesMember" xlink:label="loc_FSIEmployeesMember" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtTitleOfIndividualWithRelationshipToEntityDomain" xlink:to="loc_FSIEmployeesMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CanadaRevenueAgencyMember" xlink:label="loc_us-gaapCanadaRevenueAgencyMember" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_us-gaapCanadaRevenueAgencyMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaapStockOptionPlanExpense" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockOptionPlanExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_AdditionalExpensesDueToOptionsGranted" xlink:label="loc_FSIAdditionalExpensesDueToOptionsGranted" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_FSIAdditionalExpensesDueToOptionsGranted" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:presentationArc order="70" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
      <link:presentationArc order="80" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
      <link:presentationArc order="90" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" />
      <link:presentationArc order="100" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" />
      <link:presentationArc order="110" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/CapitalStockDetailsNarrative" xlink:title="00000061 - Disclosure - CAPITAL STOCK (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="loc_us-gaapAwardTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaapEmployeeStockOptionMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_us-gaapEmployeeStockOptionMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesIssuedForServices" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueIssuedForServices" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueIssuedForServices" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableAmountPerShare" xlink:label="loc_us-gaapDividendsPayableAmountPerShare" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="loc_us-gaapDividendsPayableAmountPerShare" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails" xlink:title="00000062 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="loc_us-gaapNoncontrollingInterestAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_OwnershipInterestPurchaseAgreementMember" xlink:label="loc_FSIOwnershipInterestPurchaseAgreementMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSIOwnershipInterestPurchaseAgreementMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest_2" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails" xlink:title="00000063 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="loc_us-gaapNoncontrollingInterestAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="loc_us-gaapTypeOfArrangementAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapTypeOfArrangementAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTypeOfArrangementAxis" xlink:to="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_OwnershipInterestPurchaseAgreementMember" xlink:label="loc_FSIOwnershipInterestPurchaseAgreementMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapArrangementsAndNonarrangementTransactionsMember" xlink:to="loc_FSIOwnershipInterestPurchaseAgreementMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates" xlink:label="loc_us-gaapPaymentsToAcquireBusinessesAndInterestInAffiliates" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapPaymentsToAcquireBusinessesAndInterestInAffiliates" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation" xlink:label="loc_us-gaapNoncontrollingInterestDecreaseFromDeconsolidation" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapNoncontrollingInterestDecreaseFromDeconsolidation" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest_2" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterest_2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative" xlink:title="00000064 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="loc_us-gaapNoncontrollingInterestAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNoncontrollingInterestAbstract" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipAxis" xlink:label="loc_srtOwnershipAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="loc_srtOwnershipAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_OwnershipDomain" xlink:label="loc_srtOwnershipDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipAxis" xlink:to="loc_srtOwnershipDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ENPInvestmentsLLCMember" xlink:label="loc_FSIENPInvestmentsLLCMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIENPInvestmentsLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_MendotaLLCMember" xlink:label="loc_FSIMendotaLLCMember" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtOwnershipDomain" xlink:to="loc_FSIMendotaLLCMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:label="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapSubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="loc_us-gaapMinorityInterestOwnershipPercentageByParent" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapMinorityInterestOwnershipPercentageByParent" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="loc_us-gaapPaymentsToMinorityShareholders" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapPaymentsToMinorityShareholders" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapRevenues" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaapAccountsReceivableNetCurrent" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="loc_us-gaapAccountsReceivableNetCurrent" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails" xlink:title="00000065 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="loc_srtProductOrServiceAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_EWCPMember" xlink:label="loc_FSIEWCPMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_FSIEWCPMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_BCPAMember" xlink:label="loc_FSIBCPAMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_FSIBCPAMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaapStatementBusinessSegmentsAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:to="loc_us-gaapStatementBusinessSegmentsAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SegmentMember" xlink:label="loc_FSISegmentMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_FSISegmentMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapInterestExpense" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationNonproduction" xlink:label="loc_us-gaapDepreciationNonproduction" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapDepreciationNonproduction" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
      <link:presentationArc order="40" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_SegmentAssets" xlink:label="loc_FSISegmentAssets" />
      <link:presentationArc order="50" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_FSISegmentAssets" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
      <link:presentationArc order="60" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideInformationRevenueFromExternalCustomerLineItems" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails" xlink:title="00000066 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_srtStatementGeographicalAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="loc_countryCA" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryCA" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_UnitedStatesandAbroadMember" xlink:label="loc_FSIUnitedStatesandAbroadMember" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_FSIUnitedStatesandAbroadMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails" xlink:title="00000067 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="loc_srtStatementGeographicalAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CA" xlink:label="loc_countryCA" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryCA" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="loc_countryUS" />
      <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryUS" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncurrentAssets" xlink:label="loc_us-gaapNoncurrentAssets" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="loc_us-gaapNoncurrentAssets" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative" xlink:title="00000068 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:label="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract" xlink:to="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EntityWideRevenueMajorCustomerLineItems" xlink:label="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="loc_srtMajorCustomersAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable" xlink:to="loc_srtMajorCustomersAxis" order="20" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="loc_srtNameOfMajorCustomerDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtMajorCustomersAxis" xlink:to="loc_srtNameOfMajorCustomerDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_ThreeCustomersMember" xlink:label="loc_FSIThreeCustomersMember" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtNameOfMajorCustomerDomain" xlink:to="loc_FSIThreeCustomersMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="loc_us-gaapNumberOfOperatingSegments" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapNumberOfOperatingSegments" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_us-gaapAccountsReceivableNet" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
      <link:loc xlink:type="locator" xlink:href="fsi-20240331.xsd#FSI_StockOptionExercisePercent" xlink:label="loc_FSIStockOptionExercisePercent" />
      <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEntityWideRevenueMajorCustomerLineItems" xlink:to="loc_FSIStockOptionExercisePercent" xlink:type="arc" />
    </link:presentationLink>
    <link:presentationLink xlink:type="extended" xlink:role="http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative" xlink:title="00000069 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)">
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaapSubsequentEventsAbstract" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaapSubsequentEventTable" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventsAbstract" xlink:to="loc_us-gaapSubsequentEventTable" order="100" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaapSubsequentEventLineItems" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapSubsequentEventLineItems" order="200" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaapSubsequentEventTypeAxis" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTable" xlink:to="loc_us-gaapSubsequentEventTypeAxis" order="10" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain" />
      <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain" order="0" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaapSubsequentEventMember" />
      <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTypeDomain" xlink:to="loc_us-gaapSubsequentEventMember" xlink:type="arc" />
      <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableAmountPerShare" xlink:label="loc_us-gaapDividendsPayableAmountPerShare" />
      <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventLineItems" xlink:to="loc_us-gaapDividendsPayableAmountPerShare" xlink:type="arc" />
    </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757254937088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - 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, 2024</div></th>
<th class="th"><div>May 15, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Mar. 31,  2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-31540<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">FLEXIBLE
SOLUTIONS INTERNATIONAL INC.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001069394<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">71-1630889<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">A0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">6001
    54 Ave.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Taber<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">AB<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_EntityAddressCountry', window );">Entity Address, Country</a></td>
<td class="text">CA<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">T1G
    1X4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">(403)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">223-2995<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">FSI<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">NYSEAMER<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">12,450,532<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCountry">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>ISO 3166-1 alpha-2 country 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_EntityAddressCountry</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:countryCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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>12
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757161365728">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Interim Consolidated Balance Sheets - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 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_AssetsCurrentAbstract', window );"><strong>Current</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Cash', window );">Cash</a></td>
<td class="nump">$ 5,302,954<span></span>
</td>
<td class="nump">$ 5,017,583<span></span>
</td>
</tr>
<tr class="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 );">Term deposits (Note 2)</a></td>
<td class="nump">3,023,757<span></span>
</td>
<td class="nump">2,690,241<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net (Note 4)</a></td>
<td class="nump">12,992,543<span></span>
</td>
<td class="nump">9,843,056<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories (Note 5)</a></td>
<td class="nump">10,459,256<span></span>
</td>
<td class="nump">11,134,889<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseCurrent', window );">Prepaid expenses and deposits</a></td>
<td class="nump">741,495<span></span>
</td>
<td class="nump">1,540,923<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">32,520,005<span></span>
</td>
<td class="nump">30,226,692<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, equipment and leaseholds, net (Note 6)</a></td>
<td class="nump">13,267,240<span></span>
</td>
<td class="nump">13,171,787<span></span>
</td>
</tr>
<tr class="re">
<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 );">Right of use assets (Note 3)</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">115,293<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets (Note 7)</a></td>
<td class="nump">2,240,000<span></span>
</td>
<td class="nump">2,280,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_DepositsAssetsNoncurrent', window );">Long term deposits (Note 8)</a></td>
<td class="nump">840,592<span></span>
</td>
<td class="nump">824,254<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Investments (Note 9)</a></td>
<td class="nump">5,889,161<span></span>
</td>
<td class="nump">6,033,960<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill (Note 7)</a></td>
<td class="nump">2,534,275<span></span>
</td>
<td class="nump">2,534,275<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax asset (Note 2)</a></td>
<td class="nump">284,794<span></span>
</td>
<td class="nump">284,794<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">57,576,067<span></span>
</td>
<td class="nump">55,471,055<span></span>
</td>
</tr>
<tr class="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</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">1,397,915<span></span>
</td>
<td class="nump">1,984,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_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">699,005<span></span>
</td>
<td class="nump">284,131<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenueCurrent', window );">Deferred revenue</a></td>
<td class="nump">131,827<span></span>
</td>
<td class="nump">148,292<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxesPayableCurrent', window );">Income taxes payable</a></td>
<td class="nump">4,749,391<span></span>
</td>
<td class="nump">4,485,213<span></span>
</td>
</tr>
<tr class="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 );">Short term line of credit (Note 10)</a></td>
<td class="nump">3,259,935<span></span>
</td>
<td class="nump">1,810,479<span></span>
</td>
</tr>
<tr class="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 );">Current portion of lease liability (Note 3)</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">59,520<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Current portion of long term debt (Note 11)</a></td>
<td class="nump">1,665,440<span></span>
</td>
<td class="nump">1,281,632<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">11,903,513<span></span>
</td>
<td class="nump">10,053,859<span></span>
</td>
</tr>
<tr class="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 );">Lease liability (Note 3)</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">55,773<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income tax liability (Note 2)</a></td>
<td class="nump">260,047<span></span>
</td>
<td class="nump">260,047<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Long term debt (Note 11)</a></td>
<td class="nump">6,321,396<span></span>
</td>
<td class="nump">6,833,304<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">18,484,956<span></span>
</td>
<td class="nump">17,202,983<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, value</a></td>
<td class="nump">12,451<span></span>
</td>
<td class="nump">12,436<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Capital in excess of par value</a></td>
<td class="nump">18,211,607<span></span>
</td>
<td class="nump">17,932,015<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Other comprehensive loss</a></td>
<td class="num">(767,923)<span></span>
</td>
<td class="num">(795,146)<span></span>
</td>
</tr>
<tr class="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 earnings</a></td>
<td class="nump">18,510,277<span></span>
</td>
<td class="nump">18,053,051<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders&#8217; equity &#8211; controlling interest</a></td>
<td class="nump">35,966,412<span></span>
</td>
<td class="nump">35,202,356<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Non-controlling interests (Note 14)</a></td>
<td class="nump">3,124,699<span></span>
</td>
<td class="nump">3,065,716<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Total Stockholders&#8217; Equity</a></td>
<td class="nump">39,091,111<span></span>
</td>
<td class="nump">38,268,072<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total Liabilities and Stockholders&#8217; Equity</a></td>
<td class="nump">$ 57,576,067<span></span>
</td>
<td class="nump">$ 55,471,055<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 12: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 30: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477796/946-210-45-21<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 210<br> -Topic 946<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477796/946-210-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_DepositsAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment after one year or beyond the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepositsAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481664/323-10-45-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-5<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_MinorityInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_PrepaidExpenseCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 within a future period of 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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482955/340-10-05-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483032/340-10-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478451/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary 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/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483550/848-10-65-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479832/842-10-65-8<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-24<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-23<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-5<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-5<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-6<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-6<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482615/740-10-65-8<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482615/740-10-65-8<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-4<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-5<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-17<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-3<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 39: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 42: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 43: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 44: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 45: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 46: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-15<br><br>Reference 47: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-16<br><br>Reference 48: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4I<br><br>Reference 49: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476166/350-60-65-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757254824208">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Interim Consolidated Balance Sheets (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 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_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">50,000,000<span></span>
</td>
<td class="nump">50,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="nump">$ 0.001<span></span>
</td>
<td class="nump">$ 0.001<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="nump">1,000,000<span></span>
</td>
<td class="nump">1,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">12,450,532<span></span>
</td>
<td class="nump">12,432,523<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">12,450,532<span></span>
</td>
<td class="nump">12,432,523<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757255217120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Loss) (Unaudited) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</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_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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">$ 9,224,872<span></span>
</td>
<td class="nump">$ 9,847,517<span></span>
</td>
</tr>
<tr class="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">6,404,505<span></span>
</td>
<td class="nump">6,762,525<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">2,820,367<span></span>
</td>
<td class="nump">3,084,992<span></span>
</td>
</tr>
<tr class="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_SalariesAndWages', window );">Wages</a></td>
<td class="nump">651,158<span></span>
</td>
<td class="nump">671,692<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OfficersCompensation', window );">Administrative salaries and benefits</a></td>
<td class="nump">417,859<span></span>
</td>
<td class="nump">393,014<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralInsuranceExpense', window );">Insurance</a></td>
<td class="nump">244,260<span></span>
</td>
<td class="nump">201,530<span></span>
</td>
</tr>
<tr class="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">175,266<span></span>
</td>
<td class="nump">134,870<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherGeneralExpense', window );">Office and miscellaneous</a></td>
<td class="nump">157,623<span></span>
</td>
<td class="nump">98,846<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research</a></td>
<td class="nump">126,654<span></span>
</td>
<td class="nump">21,502<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_FSI_Consulting', window );">Consulting</a></td>
<td class="nump">99,921<span></span>
</td>
<td class="nump">62,977<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UtilitiesOperatingExpense', window );">Utilities</a></td>
<td class="nump">73,676<span></span>
</td>
<td class="nump">7,487<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Advertising and promotion</a></td>
<td class="nump">66,949<span></span>
</td>
<td class="nump">48,398<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TravelAndEntertainmentExpense', window );">Travel</a></td>
<td class="nump">66,261<span></span>
</td>
<td class="nump">61,652<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfessionalFees', window );">Professional fees</a></td>
<td class="nump">60,995<span></span>
</td>
<td class="nump">62,767<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_FSI_InvestorRelationsAndTransferAgentFee', window );">Investor relations and transfer agent fee</a></td>
<td class="nump">39,304<span></span>
</td>
<td class="nump">89,892<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseExpense', window );">Lease expense</a></td>
<td class="nump">30,150<span></span>
</td>
<td class="nump">25,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_CommunicationsAndInformationTechnology', window );">Telecommunications</a></td>
<td class="nump">13,532<span></span>
</td>
<td class="nump">12,578<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_FSI_ShippingCost', window );">Shipping</a></td>
<td class="nump">7,829<span></span>
</td>
<td class="nump">4,666<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax', window );">Currency exchange</a></td>
<td class="num">(1,635)<span></span>
</td>
<td class="nump">2,576<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_FSI_Commissions', window );">Commissions</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">2,985<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">2,229,802<span></span>
</td>
<td class="nump">1,902,727<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">590,565<span></span>
</td>
<td class="nump">1,182,265<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_FSI_LeaseTerminationFee', window );">Loss on lease termination</a></td>
<td class="num">(41,350)<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnInvestments', window );">Gain on investment</a></td>
<td class="nump">182,975<span></span>
</td>
<td class="nump">69,995<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeOther', window );">Interest income</a></td>
<td class="nump">48,197<span></span>
</td>
<td class="nump">12,011<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income tax</a></td>
<td class="nump">780,387<span></span>
</td>
<td class="nump">1,264,271<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract', window );"><strong>Income taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="num">(264,178)<span></span>
</td>
<td class="num">(299,777)<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_ProfitLoss', window );">Net income for the period including non-controlling interests</a></td>
<td class="nump">516,209<span></span>
</td>
<td class="nump">964,494<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest', window );">Less: Net income attributable to non-controlling interests</a></td>
<td class="num">(58,983)<span></span>
</td>
<td class="num">(80,125)<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_NetIncomeLoss', window );">Net income attributable to controlling interest</a></td>
<td class="nump">$ 457,226<span></span>
</td>
<td class="nump">$ 884,369<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Income per share (basic)</a></td>
<td class="nump">$ 0.04<span></span>
</td>
<td class="nump">$ 0.07<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Income per share (diluted)</a></td>
<td class="nump">$ 0.04<span></span>
</td>
<td class="nump">$ 0.07<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average number of common shares (basic)</a></td>
<td class="nump">12,449,699<span></span>
</td>
<td class="nump">12,432,914<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average number of common shares (diluted)</a></td>
<td class="nump">12,449,699<span></span>
</td>
<td class="nump">12,532,404<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract', window );"><strong>Other comprehensive income (loss):</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_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 516,209<span></span>
</td>
<td class="nump">$ 964,494<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Unrealized income (loss) on foreign currency translations</a></td>
<td class="nump">27,223<span></span>
</td>
<td class="num">(167,239)<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_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest', window );">Total comprehensive income</a></td>
<td class="nump">543,432<span></span>
</td>
<td class="nump">797,255<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest', window );">Comprehensive income &#8211; non-controlling interest</a></td>
<td class="num">(58,983)<span></span>
</td>
<td class="num">(80,125)<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_ComprehensiveIncomeNetOfTax', window );">Comprehensive income attributable to Flexible Solutions International Inc.</a></td>
<td class="nump">$ 484,449<span></span>
</td>
<td class="nump">$ 717,130<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_Commissions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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;">FSI_Commissions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_Consulting">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Consulting.</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;">FSI_Consulting</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_InvestorRelationsAndTransferAgentFee">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Investor relations aand transfer agent fee.</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;">FSI_InvestorRelationsAndTransferAgentFee</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_LeaseTerminationFee">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">FSI_LeaseTerminationFee</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_ShippingCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Shipping cost.</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;">FSI_ShippingCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_CommunicationsAndInformationTechnology">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 in the period for communications and data processing 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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommunicationsAndInformationTechnology</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax of increase (decrease) in equity from transactions and other events and circumstances from net income (loss) and other comprehensive income (loss), attributable to noncontrolling interests. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-20<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_DeferredIncomeTaxesAndTaxCreditsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DeferredIncomeTaxesAndTaxCreditsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax, of realized and unrealized gain (loss) from foreign currency transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482014/830-20-35-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481956/830-20-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481926/830-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481839/830-10-45-17<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_GainLossOnInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 realized and unrealized gain (loss) on investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_GeneralInsuranceExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense in the period incurred with respect to protection provided by insurance entities against risks other than risks associated with production (which are allocated to cost of sales).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralInsuranceExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 interest expense classified as operating and nonoperating. Includes, but is not limited to, cost of borrowing 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> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-24<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483013/835-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_InterestIncomeOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest income earned from interest bearing assets classified as 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;">us-gaap_InterestIncomeOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_NetIncomeLossAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Net Income (Loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OfficersCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 salary and wage arising from service rendered by officer. Excludes allocated cost, labor-related nonsalary expense, and direct and overhead labor cost included in cost of good and service sold.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OfficersCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lease expense. Excludes 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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract</td>
</tr>
<tr>
<td style="padding-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_OtherGeneralExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 general expenses not normally included in Other Operating Costs and Expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherGeneralExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProfessionalFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fee charged for services from professionals such as doctors, lawyers and accountants. The term is often expanded to include other professions, for example, pharmacists charging to maintain a medicinal profile of a client or 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/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (k)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-3<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfessionalFees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482916/730-10-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479532/912-730-25-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SalariesAndWages">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 salary and wage arising from service rendered by nonofficer employee. Excludes allocated cost, labor-related nonsalary expense, and direct and overhead labor cost included in cost of good and service sold.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalariesAndWages</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TravelAndEntertainmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expenses incurred for travel and entertainment during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TravelAndEntertainmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_UtilitiesOperatingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense of regulated 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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UtilitiesOperatingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757160631264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Interim Consolidated Statements of Cash Flows (Unaudited) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</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_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Operating activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income for the period including non-controlling interests</a></td>
<td class="nump">$ 516,209<span></span>
</td>
<td class="nump">$ 964,494<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash:</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_ShareBasedCompensation', window );">Stock based compensation</a></td>
<td class="nump">253,357<span></span>
</td>
<td class="nump">185,298<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">422,669<span></span>
</td>
<td class="nump">342,810<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAssetAmortization', window );">Lease right of use amortization</a></td>
<td class="nump">13,694<span></span>
</td>
<td class="nump">12,775<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_FSI_LeaseRightOfUseFinancing', window );">Lease right of use financing</a></td>
<td class="nump">1,186<span></span>
</td>
<td class="nump">1,745<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnTerminationOfLease', window );">Loss on terminating lease</a></td>
<td class="nump">41,350<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnInvestments', window );">Gain on investment</a></td>
<td class="num">(182,975)<span></span>
</td>
<td class="num">(69,995)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in non-cash working capital 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_IncreaseDecreaseInAccountsReceivable', window );">(Increase) decrease in accounts receivable</a></td>
<td class="num">(3,149,487)<span></span>
</td>
<td class="num">(1,383,671)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Decrease in inventory</a></td>
<td class="nump">675,633<span></span>
</td>
<td class="nump">39,607<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidExpense', window );">Decrease (increase) in prepaid expenses</a></td>
<td class="nump">799,428<span></span>
</td>
<td class="num">(21,497)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities', window );">(Decrease) increase in accounts payable and accrued liabilities</a></td>
<td class="num">(171,028)<span></span>
</td>
<td class="num">(179,149)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable', window );">Increase in income taxes payable</a></td>
<td class="nump">264,178<span></span>
</td>
<td class="nump">152,577<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Decrease in deferred revenue</a></td>
<td class="num">(16,465)<span></span>
</td>
<td class="num">(273,223)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Cash used in operating activities</a></td>
<td class="num">(532,251)<span></span>
</td>
<td class="num">(228,229)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Investing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_PaymentsToAcquireLongTermDeposits', window );">Long term deposits</a></td>
<td class="num">(21,778)<span></span>
</td>
<td class="num">(342,747)<span></span>
</td>
</tr>
<tr class="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 );">Net purchase of property, equipment and leaseholds</a></td>
<td class="num">(478,123)<span></span>
</td>
<td class="num">(213,060)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfEquityMethodInvestments', window );">Proceeds of equity investment</a></td>
<td class="nump">327,000<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Cash used in investing activities</a></td>
<td class="num">(172,901)<span></span>
</td>
<td class="num">(555,807)<span></span>
</td>
</tr>
<tr class="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>Financing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromLinesOfCredit', window );">Draw from short term line of credit</a></td>
<td class="nump">1,449,456<span></span>
</td>
<td class="nump">844,913<span></span>
</td>
</tr>
<tr class="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 );">Repayment of long term debt</a></td>
<td class="num">(185,916)<span></span>
</td>
<td class="num">(177,639)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfLongTermDebt', window );">Proceeds of long term debt</a></td>
<td class="nump">57,816<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfFinancingCosts', window );">Lease payments</a></td>
<td class="num">(50,790)<span></span>
</td>
<td class="num">(14,520)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from issuance of common stock</a></td>
<td class="nump">26,250<span></span>
</td>
<td class="nump">13,600<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_NetCashProvidedByUsedInFinancingActivities', window );">Cash used in financing activities</a></td>
<td class="nump">1,296,816<span></span>
</td>
<td class="nump">666,354<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Effect of exchange rate changes on cash</a></td>
<td class="nump">27,223<span></span>
</td>
<td class="num">(167,239)<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 );">Inflow (outflow) of cash</a></td>
<td class="nump">618,887<span></span>
</td>
<td class="num">(284,921)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash, beginning</a></td>
<td class="nump">7,707,824<span></span>
</td>
<td class="nump">6,815,099<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash resources</a></td>
<td class="nump">8,326,711<span></span>
</td>
<td class="nump">6,530,178<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract', window );"><strong>Cash consists of:</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_Cash', window );">Cash</a></td>
<td class="nump">5,302,954<span></span>
</td>
<td class="nump">5,530,178<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermInvestments', window );">Term Deposits</a></td>
<td class="nump">$ 3,023,757<span></span>
</td>
<td class="nump">$ 1,000,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_LeaseRightOfUseFinancing">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 right of use financing.</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;">FSI_LeaseRightOfUseFinancing</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_PaymentsToAcquireLongTermDeposits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 to acquire long term deposits.</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;">FSI_PaymentsToAcquireLongTermDeposits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477796/946-210-45-21<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 210<br> -Topic 946<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477796/946-210-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477401/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477401/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FinanceLeaseRightOfUseAssetAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense attributable to 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/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseRightOfUseAssetAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_GainLossOnInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 realized and unrealized gain (loss) on investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_GainLossOnTerminationOfLease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 gain (loss) on termination of lease before expiration of lease term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 40<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479092/842-20-40-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnTerminationOfLease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478345/912-310-45-11<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_IncreaseDecreaseInPrepaidExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of outstanding money paid in advance for goods or services that bring economic benefits for future periods.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 loan and debt issuance 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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfFinancingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromIssuanceOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 debt initially having maturity due after one year or beyond the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_ProceedsFromSaleOfEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 sale of equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757260130256">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Interim Consolidated Statements of Stockholders' Equity (Unaudited) - USD ($)<br></strong></div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Capital in Excess of Par Value [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</div></th>
<th class="th"><div>AOCI Attributable to Parent [Member]</div></th>
<th class="th"><div>Parent [Member]</div></th>
<th class="th"><div>Noncontrolling Interest [Member]</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Beginning balance, value at Dec. 31, 2022</a></td>
<td class="nump">$ 12,426<span></span>
</td>
<td class="nump">$ 17,523,345<span></span>
</td>
<td class="nump">$ 15,903,964<span></span>
</td>
<td class="num">$ (805,799)<span></span>
</td>
<td class="nump">$ 32,633,936<span></span>
</td>
<td class="nump">$ 2,605,034<span></span>
</td>
<td class="nump">$ 35,238,970<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Beginning balance, shares at Dec. 31, 2022</a></td>
<td class="nump">12,426,260<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Translation adjustment</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(167,239)<span></span>
</td>
<td class="num">(167,239)<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="num">(167,239)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">884,369<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">884,369<span></span>
</td>
<td class="nump">80,125<span></span>
</td>
<td class="nump">964,494<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Common stock issued</a></td>
<td class="nump">$ 10<span></span>
</td>
<td class="nump">13,590<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">13,600<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">13,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_StockIssuedDuringPeriodSharesNewIssues', window );">Common stock issued, shares</a></td>
<td class="nump">9,272<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="text"> <span></span>
</td>
<td class="nump">185,298<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">185,298<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">185,298<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Ending balance, value at Mar. 31, 2023</a></td>
<td class="nump">$ 12,436<span></span>
</td>
<td class="nump">17,722,233<span></span>
</td>
<td class="nump">16,788,333<span></span>
</td>
<td class="num">(973,038)<span></span>
</td>
<td class="nump">33,549,964<span></span>
</td>
<td class="nump">2,685,159<span></span>
</td>
<td class="nump">36,235,123<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance, shares at Mar. 31, 2023</a></td>
<td class="nump">12,435,532<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Beginning balance, value at Dec. 31, 2023</a></td>
<td class="nump">$ 12,436<span></span>
</td>
<td class="nump">17,932,015<span></span>
</td>
<td class="nump">18,053,051<span></span>
</td>
<td class="num">(795,146)<span></span>
</td>
<td class="nump">35,202,356<span></span>
</td>
<td class="nump">3,065,716<span></span>
</td>
<td class="nump">38,268,072<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Beginning balance, shares at Dec. 31, 2023</a></td>
<td class="nump">12,435,532<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Translation adjustment</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">27,223<span></span>
</td>
<td class="nump">27,223<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">27,223<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">457,226<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">457,226<span></span>
</td>
<td class="nump">58,983<span></span>
</td>
<td class="nump">516,209<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Common stock issued</a></td>
<td class="nump">$ 15<span></span>
</td>
<td class="nump">26,235<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">26,250<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">26,250<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Common stock issued, shares</a></td>
<td class="nump">15,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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="text"> <span></span>
</td>
<td class="nump">253,357<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">253,357<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">253,357<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Ending balance, value at Mar. 31, 2024</a></td>
<td class="nump">$ 12,451<span></span>
</td>
<td class="nump">$ 18,211,607<span></span>
</td>
<td class="nump">$ 18,510,277<span></span>
</td>
<td class="num">$ (767,923)<span></span>
</td>
<td class="nump">$ 35,966,412<span></span>
</td>
<td class="nump">$ 3,124,699<span></span>
</td>
<td class="nump">$ 39,091,111<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ending balance, shares at Mar. 31, 2024</a></td>
<td class="nump">12,450,532<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481089/718-20-55-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-4<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary 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/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483550/848-10-65-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479832/842-10-65-8<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-24<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-23<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-5<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-5<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-6<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-6<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482615/740-10-65-8<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482615/740-10-65-8<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-4<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-5<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-17<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-3<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 39: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 42: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 43: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 44: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 45: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 46: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-15<br><br>Reference 47: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-16<br><br>Reference 48: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4I<br><br>Reference 49: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476166/350-60-65-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757154344176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock', window );">BASIS OF PRESENTATION</a></td>
<td class="text"><p id="xdx_802_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_zxAE6HzqDrL5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>1.
<span id="xdx_82B_zyVtHEuL2n8k">BASIS OF PRESENTATION</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
interim condensed consolidated financial statements (&#8220;consolidated financial statements&#8221;) include the accounts of
Flexible Solutions International, Inc. (the &#8220;Company&#8221;), its wholly-owned subsidiaries Flexible Fermentation Ltd.,
NanoChem Solutions Inc. (&#8220;NanoChem&#8221;), Flexible Solutions Ltd., Flexible Biomass LP, FS Biomass Inc., NCS Deferred Corp.,
Natural Chem SEZC Ltd., InnFlex Holdings Inc., ENP Peru Investments LLC (&#8220;ENP Peru&#8221;), its <span id="xdx_901_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember_zUTmT6eKx2a2" title="Subsidiary company ownership interest rate">80</span>%
controlling interest in 317 Mendota LLC (&#8220;317 Mendota&#8221;), and its <span id="xdx_903_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCAndENPMendotaMember_zwJ8MSzwNual" title="Subsidiary company ownership interest rate">65</span>%
controlling interest in ENP Investments, LLC (&#8220;ENP Investments&#8221;) and ENP Mendota, LLC (&#8220;ENP Mendota&#8221;). All
inter-company balances and transactions have been eliminated upon consolidation. The Company was incorporated on May 12, 1998 in the
State of Nevada and in 2019, the Company redomiciled into Alberta, Canada.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2022, NanoChem purchased an additional <span id="xdx_906_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zkLdI1g3X3ch" title="Increase decrease in share percentage">50</span>% in ENP Peru, increasing its share to <span id="xdx_905_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_z28tys7Qnyad" title="Increase decrease in share percentage">91.67</span>%. ENP Investments owned the remaining <span id="xdx_901_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zIfhRgiYPsa1" title="Remaining investment owned percentage">8.33</span>%, of
which the Company has a <span id="xdx_908_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zxe2VjL7osLh" title="Subsidiary company ownership interest rate">65</span>% interest. In 2023, NanoChem purchased the remaining <span id="xdx_90B_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--ENPPeruMember_zwcsLLsmfWj9" title="Remaining investment owned percentage">8.33</span>% of shares to become sole owner. ENP Peru was previously
accounted for under the equity method however, it is now consolidated into the financial statements from the date control was obtained.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
2023, the Company purchased an <span id="xdx_905_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember_zEaHPKiTi3ni" title="Subsidiary company ownership interest rate">80</span>% interest in 317 Mendota, a newly incorporated company established to purchase a large manufacturing
building. ENP Investments will occupy part of this building, freeing up more space in the building owned by ENP Peru for NanoChem. The
Company intends to rent the remainder of the space to suitable tenants. The remaining <span id="xdx_908_eus-gaap--MinorityInterestOwnershipPercentageByNoncontrollingOwners_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zLcvKOHf0lVe" title="Noncontrolling interest percentage">20</span>% non-controlling interest is held by unrelated
parties.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company and its subsidiaries develop, manufacture and market specialty chemicals which slow the evaporation of water. One product, HEATSAVR&#174;,
is marketed for use in swimming pools and spas where its use, by slowing the evaporation of water, allows the water to retain a higher
temperature for a longer period of time and thereby reduces the energy required to maintain the desired temperature of the water in the
pool. Another product, WATERSAVR&#174;, is marketed for water conservation in irrigation canals, aquaculture, and reservoirs where its
use slows water loss due to evaporation. In addition to the water conservation products, the Company also manufactures and markets water-soluble
chemicals utilizing thermal polyaspartate biopolymers (hereinafter referred to as &#8220;TPAs&#8221;), which are beta-proteins manufactured
from the common biological amino acid, L-aspartic. TPAs can be formulated to prevent corrosion and scaling in water piping within the
petroleum, chemical, utility and mining industries. TPAs are also used as proteins to enhance fertilizers in improving crop yields and
can be used as additives for household laundry detergents, consumer care products and pesticides. The TPA division also manufactures
two nitrogen conservation products for agriculture that slows nitrogen loss from fields.</span></p>

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

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/235/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/275/tableOfContent<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/205/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757255094544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">SIGNIFICANT ACCOUNTING POLICIES</a></td>
<td class="text"><p id="xdx_802_eus-gaap--SignificantAccountingPoliciesTextBlock_zsjXoQ6rETag" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>2.
<span id="xdx_825_zt7P0TNTN5Kl">SIGNIFICANT ACCOUNTING POLICIES</span> </b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">These
consolidated financial statements have been prepared on a historical cost basis, except where otherwise noted, in accordance with accounting
principles generally accepted in the United States applicable to a going concern and reflect the policies outlined below.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in">In the opinion of management,
the accompanying unaudited condensed interim consolidated financial statements contain all adjustments (all of which are of a normal recurring
nature) and disclosures necessary for a fair presentation of the Company&#8217;s financial position as of March 31, 2024 and the results
of its operations for the three months then ended. The consolidated balance sheet as of December 31, 2023 is derived from the December
31, 2023 audited financial statements.</p>

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

<p id="xdx_84D_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zHTXk8aYkmx9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
<i><span id="xdx_86A_z6dF8Qxs1swb">Cash and Cash Equivalents</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company considers all highly liquid investments purchased with an original or remaining maturity of less than three months at the date
of purchase to be cash equivalents. Cash and cash equivalents are maintained with several financial institutions. As of March 31, 2024 and December 31, 2023, the Company did not have any cash equivalents.</span></p>

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

<p id="xdx_843_ecustom--TermDepositsPolicyTextBlock_z9J7cUtzKejl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
<i><span id="xdx_86B_zw0LhRICKygl">Term Deposits</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has five term deposits that are maintained by commercials banks. The first term deposit is for $<span id="xdx_907_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zjW7tTYZblB7">688,126</span> and matures in April
2024. This deposit pays <span id="xdx_900_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zJyZV2tESkWg">4.908</span>% interest and if withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_907_ecustom--MinimumInterestPenalty_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zFge2LU4rM4d" title="Minimum interest penalty">150</span>, plus 1%
of the principal shall be levied. The second term deposit is for $<span id="xdx_908_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zvCGdQWuYBre">303,954</span> and matures in February 2025. This deposit pays <span id="xdx_908_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zdNW7mCGpH67">1.3</span>% interest
and if withdrawn before maturity, a penalty may be applied. The third term deposit is for $<span id="xdx_908_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zrUdSDwEu6Ei">720,982</span>, matures in May 2024 and pays interest
at a rate of <span id="xdx_90C_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zTeclXtsMsJa">3.00</span>%. If withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_903_ecustom--MinimumInterestPenalty_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zWyhnYx8Ex0f" title="Minimum interest penalty">150</span>, plus 1% of the principal shall
be levied. The fourth term deposit is for $<span id="xdx_902_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_z8aZ2heimwih">1,000,000</span> and matures in May 2024. This deposit pays <span id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zsEWLK0EApxh">3.85</span>% and if withdrawn before maturity,
the greater of the loss of accrued interest or $<span id="xdx_909_ecustom--MinimumInterestPenalty_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zREo996lFmVi" title="Minimum interest penalty">150</span>, plus 1% of the principal shall be levied. The fifth term deposit is for $<span id="xdx_900_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FifthTermMember_zNAnmy2g2QK9">310,695</span>,
matures in August 2024 and pays interest at a rate of <span id="xdx_90A_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FifthTermMember_zzWsQz3A3vE2" title="Interest rate">3.85</span>%. If withdrawn before maturity, a penalty may be applied.</span></p>

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

<p id="xdx_84B_eus-gaap--InventoryPolicyTextBlock_zcWe5KH5546a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)
<i><span id="xdx_86F_zFdvQHqpGkui">Inventories and Cost of Sales</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has three major classes of inventory: completed goods, work in progress and raw materials and supplies. In all classes inventories
are stated at the lower of cost or net realizable value. Cost is determined on a first-in, first-out basis or weighted average cost
formula to inventories in different subsidiaries. Cost of sales includes all expenditures incurred in bringing the goods to the point
of sale. Inventory costs and costs of sales include direct costs of the raw material, inbound freight charges, warehousing costs, handling
costs (receiving and purchasing) and utilities and overhead expenses related to the Company&#8217;s manufacturing and processing facilities.
Shipping and handling charges billed to customers are included in revenue (2024 - $<span id="xdx_906_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zG9KQZBHRvOf" title="Sales">128,289</span>; 2023 - $<span id="xdx_901_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_z81pX6BvSDl3" title="Sales">143,173</span>). Shipping and handling costs
incurred are included in cost of goods sold (2024 - $<span id="xdx_906_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zLLNHaoruwuk" title="Cost of sales">216,503</span>; 2023 - $<span id="xdx_908_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_z3CaYo37rZK7" title="Cost of sales">255,489</span>).</span></p>

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




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

<p id="xdx_840_eus-gaap--PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_z2Vq8K0PG0s4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d)
<i><span id="xdx_867_zLQLDSH53vxj">Allowance for expected credit losses</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company&#8217;s expected credit losses are determined through a review
using historical credit loss experience; changes in asset specific characteristics, current conditions, and reasonable and supportable
future forecasts, among other specific account data, and is performed at least quarterly. The company develops and documents its methodology
to determine its allowance for expected credit losses. Risk characteristics used by the Company may include customer mix, knowledge of
customers and general economic conditions of the various local economics, among others. Specific account balances are written off when
management determines the amounts to be uncollectible. Management has reviewed the balance reserved through the allowance for expected
losses and believes it is reasonable.</span></p>

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

<p id="xdx_842_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zZ07thJRLxEf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(e)
<i><span id="xdx_868_zPTF9WWoaN93">Property, Equipment, Leaseholds and Intangible Assets</span>.</i></span></p>

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

<p id="xdx_896_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zP0elhHtTvL2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B4_zr2vNuEB9na1" style="display: none">SCHEDULE OF METHOD OF DEPRECIATION</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse; margin-left: 0.75in">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Manufacturing
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zrNSkPUGyK94" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zy6XWTFJvQWl" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Building
    and improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_901_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zCwcYMGFOJN3" title="Depreciation method used and annual rate">10%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Automobiles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zLT8twLNlpB5" title="Depreciation method used and annual rate">Straight-line
    over 5 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Technology</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_z5KYl0x993Xj" title="Depreciation method used and annual rate">Straight-line
    over 10 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Leasehold
    improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zIdkrd8NP6Bc" title="Depreciation method used and annual rate">Straight-line
    over lease term</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customer
    relationships </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_z8lIP2E3Iqz6" title="Depreciation method used and annual rate">Straight-line
    over 15 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>
<p id="xdx_8A5_zwBKFwCwlxmj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p id="xdx_848_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zQYGruLzMeQ6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(f)
<i><span id="xdx_864_ziZkad3F28yi">Impairment of Long-Lived Assets</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 360, <i>Property, Plant and Equipment</i> (ASC 360), the Company reviews long-lived assets, including,
but not limited to, property, equipment and leaseholds, patents and other assets, for impairment annually or whenever events or changes
in circumstances indicate the carrying amounts of assets may not be recoverable. The carrying value of long-lived assets is assessed
for impairment by evaluating operating performance and future undiscounted cash flows of the underlying assets. If the expected future
cash flows of an asset is less than its carrying value, an impairment measurement is indicated. Impairment charges are recorded to the
extent that an asset&#8217;s carrying value exceeds its fair value. Accordingly, actual results could vary significantly from such estimates.
There were no impairment charges during the periods presented.</span></p>

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

<p id="xdx_843_eus-gaap--ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_zuNUpO6r6H5l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(g)
<i><span id="xdx_86E_zhVbRTvVPH1g">Foreign Currency</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
functional currency of the Company is the U.S. dollar. The functional currency of three of the Company&#8217;s subsidiaries is the Canadian
dollar. The translation of the Canadian dollar to the reporting currency of the Company, the U.S. dollar, is performed for assets and
liabilities using exchange rates in effect at the balance sheet date. Revenue and expense transactions are translated using average exchange
rates prevailing during the year. Translation adjustments arising on conversion of the Company&#8217;s financial statements from the
subsidiary&#8217;s functional currency, Canadian dollars, into the reporting currency, U.S. dollars, are excluded from the determination
of income (loss) and are disclosed as other comprehensive income in the consolidated statements of income and comprehensive income.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Foreign
exchange gains and losses relating to transactions not denominated in the applicable local currency are included in operating income
(loss) if realized during the year and in comprehensive income (loss) if they remain unrealized at the end of the year.</span></p>

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

<p id="xdx_840_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zzH6m8ktZcy2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(h)
<i><span id="xdx_86D_zpC7ZURbKYi8">Revenue Recognition</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note
15.</span></p>

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




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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company follows a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with the customer,
(2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4) allocation of
the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation is satisfied.
The Company has fulfilled its performance obligations when control transfers to the customer, which is generally at the time the product
is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free-on-board shipping
point, the Company has elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Since
the Company&#8217;s inception, product returns have been insignificant; therefore, no provision has been established for estimated product
returns.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
revenues consist of products sold to distributors with payment terms greater than the Company&#8217;s customary business terms due to
lack of credit history or operating in a new market in which the Company has no prior experience. The Company defers the recognition
of revenue until the criteria for revenue recognition has been met and payments become due or cash is received from these distributors.</span></p>

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

<p id="xdx_84E_ecustom--StockIssuedInExchangeForServicesPolicyTextBlock_zkOwr6D3SyP9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(i)
<i><span id="xdx_86A_z8bcJq9ovuhi">Stock Issued in Exchange for Services</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s common stock issued in exchange for services is valued at estimated fair market value based upon trading prices of the
Company&#8217;s common stock on the dates of the stock transactions. The corresponding expense of the services rendered is recognized
over the period that the services are performed.</span></p>

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

<p id="xdx_847_eus-gaap--CompensationRelatedCostsPolicyTextBlock_zyRTn9ZOSlbd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(j)
<i><span id="xdx_86F_zf9PYjuEMVua">Stock-based Compensation</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognizes compensation expense for all share-based payments in accordance with FASB Codification Topic 718, <i>Compensation
&#8212; Stock Compensation</i> (ASC 718). Under the fair value recognition provisions of ASC 718, the Company recognizes share-based
compensation expense, net of an estimated forfeiture rate, over the requisite service period of the award.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value at grant date of stock options is estimated using the Black-Scholes option-pricing model. Compensation expense is recognized
on a straight-line basis over the stock option vesting period based on the estimated number of stock options that are expected to vest.
Shares are issued from treasury upon exercise of stock options.</span></p>

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

<p id="xdx_849_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_z4oyBN3P66v2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(k)
<i><span id="xdx_868_zWtfzOG52hXk">Other Comprehensive Income</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
comprehensive income refers to revenues, expenses, gains and losses that under generally accepted accounting principles are included
in comprehensive income, but are excluded from net income as these amounts are recorded directly as an adjustment to stockholders&#8217;
equity. The Company&#8217;s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the
translation of subsidiaries&#8217; functional currency into the reporting currency.</span></p>

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

<p id="xdx_843_eus-gaap--EarningsPerSharePolicyTextBlock_zVGbBHhaFMcf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(l)
<i><span id="xdx_866_zuW2leEvzjda">Income Per Share</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
earnings per share is computed by dividing income available to common stockholders by the weighted average number of common shares outstanding
in the period. Diluted earnings per share are calculated giving effect to the potential dilution of the exercise of options and warrants.
Common equivalent shares, composed of incremental common shares issuable upon the exercise of stock options and warrants are included
in diluted net income per share to the extent that these shares are dilutive. Common equivalent shares that have an anti-dilutive effect
on net income per share have been excluded from the calculation of diluted weighted average shares outstanding for the three months ended
March 31, 2024 and 2023.</span></p>

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




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

<p id="xdx_848_eus-gaap--UseOfEstimates_zwun4of7g4H1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(m)
<i><span id="xdx_863_z2kbFklKh1I9">Use of Estimates</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States requires
management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the consolidated
financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from
those estimates and would impact the results of operations and cash flows.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 35.45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimates
and underlying assumptions are reviewed at each period end. Revisions to accounting estimates are recognized in the period in which the
estimates are revised and in any future periods affected.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Significant
areas requiring the use of management estimates include assumptions and estimates relating to the valuation of goodwill and intangible
assets, valuation of assets acquired at fair value, asset impairment analysis, share-based payments, valuation allowances for deferred
income tax assets, determination of useful lives of property, equipment and leaseholds and intangible assets, recoverability of accounts
receivable, recoverability of investments, discount rates for right of use assets and the costing and recoverable value of inventory.</span></p>

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

<p id="xdx_84B_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zoev4b7Wg4eh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(n)
<i><span id="xdx_869_zjwkw1v9GFui">Fair Value of Financial Instruments</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Fair
value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal
or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.
Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.
The standard describes a fair value hierarchy based on three levels of inputs described below, of which the first two are considered
observable and the last unobservable, that may be used to measure fair value.</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    1 &#8211; Quoted prices in active markets for identical assets or liabilities.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    2 &#8211; Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets
    or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable
    market data for substantially the full term of the assets or liabilities.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    3 &#8212; Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets
    or liabilities.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair values of cash, term deposits, accounts receivable, accounts payable, accrued liabilities and the short term line of credit for
all periods presented approximate their respective carrying amounts due to the short term nature of these financial instruments.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of the long term debt and lease liabilities for all periods presented approximate their respective carrying amounts due to
these financial instruments being at market rates.</span></p>

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

<p id="xdx_84B_eus-gaap--CommitmentsAndContingenciesPolicyTextBlock_zg2ZTRJRVm1c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(o)
<i><span id="xdx_863_zlwP3hsVBn16">Contingencies</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
conditions may exist as of the date the consolidated financial statements are issued which may result in a loss to the Company but which
will only be resolved when one or more future events occur or fail to occur. The Company&#8217;s management and its legal counsel assess
such contingent liabilities, and such assessment inherently involves an exercise of judgment. In assessing loss contingencies related
to legal proceedings that are pending against the Company or unasserted claims that may result in such proceedings, the Company&#8217;s
legal counsel evaluates the perceived merits of any legal proceedings or unasserted claims as well as the perceived merits of the amount
of relief sought or expected to be sought therein.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
the assessment of a contingency indicates that it is probable that a material loss has been incurred and the amount of the liability
can be estimated, the estimated liability would be accrued in the Company&#8217;s consolidated financial statements. If the assessment
indicates that a potential material loss contingency is not probable, but is reasonably possible, or is probable but cannot be estimated,
then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, would
be disclosed.</span></p>

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




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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Loss
contingencies considered remote are generally not disclosed unless they involve guarantees, in which case the guarantees would be disclosed.
Legal fees associated with loss contingencies are expensed as incurred. The Company is not aware of any contingencies at the date of
these consolidated financial statements.</span></p>

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

<p id="xdx_84E_eus-gaap--IncomeTaxPolicyTextBlock_zyUBcqtmPd85" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(p)
<i><span id="xdx_862_zhJmdPOPoRG5">Income Taxes</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
taxes are computed by multiplying the Company&#8217;s taxable net income by the Company&#8217;s effective tax rates. Deferred income
tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial
statement carrying amounts of existing assets and liabilities and their respective tax bases, and operating loss carry-forwards, if any.
Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which
those temporary differences are expected to be recovered or settled. The effect on deferred income tax assets and liabilities of a change
in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is provided to reduce the
carrying amount of deferred income tax assets if it is considered more likely than not that some portion, or all, of the deferred income
tax assets will not be realized.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 740, <i>Income taxes</i> (ASC 740) under the liability method, it is the Company&#8217;s policy
to provide for uncertain tax positions and the related interest and penalties based upon management&#8217;s assessment of whether a tax
benefit is more likely than not to be sustained upon examination by tax authorities. At March 31, 2024, the Company believes it has appropriately
accounted for any unrecognized tax benefits. To the extent the Company prevails in matters for which a liability for an unrecognized
benefit is established or is required to pay amounts in excess of the liability, the Company&#8217;s effective tax rate in a given financial
statement period may be affected. Interest and penalties associated with the Company&#8217;s tax positions are recorded as interest expense
in the consolidated statements of income and comprehensive income.</span></p>

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

<p id="xdx_84E_eus-gaap--ConcentrationRiskCreditRisk_zXevU6ME2ii7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(q)
<i><span id="xdx_86F_zyUg1q2tepSb">Risk Management</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s credit risk is primarily attributable to its accounts receivable. The amounts presented in the accompanying
consolidated balance sheets are net of allowances for doubtful accounts, estimated by the Company&#8217;s management based on prior
experience and the current economic environment. The Company is exposed to credit-related losses in the event of non-payment by
customers. Credit exposure is minimized by dealing with only credit worthy counterparties. Revenue for the Company&#8217;s three
primary customers totaled $<span id="xdx_901_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zXtfA4Ilxdhj" title="Sales">5,106,905</span>
(<span id="xdx_90E_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20240101__20240331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z6o9MVeAEaAf" title="Accounts receivable, after allowance for credit loss">55</span>%)
for the three months ended March 31, 2024 (2023 - $<span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zOIpbbAj1jki" title="Sales">4,366,106</span>
or <span id="xdx_909_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20230331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zwLJYgdweEL3" title="Accounts receivable, after allowance for credit loss">44</span>%).
Accounts receivable for the Company&#8217;s three primary customers totaled $<span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zTIOvE4qRz1i" title="Sale">7,843,766</span>
(<span id="xdx_90C_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20240101__20240331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z9QJ48EzRGSf" title="Accounts receivable, after allowance for credit loss, percentage">60</span>%)
at March 31, 2024 (December 31, 2023 - $<span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zBsoQR0MHaV2" title="Sale">6,561,164</span>
or<span id="xdx_90E_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zC6maiH32m3" title="Accounts receivable, after allowance for credit loss, percentage">
67</span>%). See Note 4 for allowance for doubtful accounts, all unrelated to our primary customers.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
credit risk on cash is limited because the Company limits its exposure to credit loss by placing its cash with major financial institutions.
The Company maintains cash balances at financial institutions which at times exceed federally insured amounts. The Company has not experienced
any losses in such accounts.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to foreign risk to the extent that market value rate fluctuations materially differ for financial assets and liabilities
denominated in foreign currencies.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to foreign exchange risks, the Company closely monitors the fluctuations in the foreign currency exchange
rates and the impact on the value of cash, accounts receivable, and accounts payable and accrued liabilities. The Company has not hedged
its exposure to currency fluctuations.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to interest rate risk to the extent that the fair value or future cash flows for financial liabilities will fluctuate
as a result of changes in market interest rates. The Company is exposed to interest rate risk on its long-term debt subject to fixed
long-term interest rates.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to interest rate risk, the Company closely monitors fluctuations in market interest risks and will
refinance its long-term debt where possible to obtain more favourable rates.</span></p>

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




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

<p id="xdx_84A_eus-gaap--EquityMethodInvestmentsPolicy_zD9r1eWisJqe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(r)
<i><span id="xdx_865_zEfI0AcDC6Uf">Equity Method Investment</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company accounts for investments using the equity method of accounting if the investment provides the Company the ability to exercise
significant influence, but not control, over the investee. <span id="xdx_903_eus-gaap--EquityMethodInvestmentDescriptionOfPrincipalActivities_c20240101__20240331__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--InvestmentMember_zSjysWCo8ZS7" title="Equity method investment, description">Significant influence is generally deemed to exist if the Company&#8217;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#8217;s board of directors, are considered in determining whether the equity method of accounting is appropriate.</span> Under
the equity method of accounting, the investment is initially recorded at cost in the consolidated balance sheets under other assets and
adjusted for dividends received and the Company&#8217;s share of the investee&#8217;s earnings or losses together with other-than-temporary
impairments which are recorded through other income (loss), net in the consolidated statements of operations and comprehensive income
(loss).</span></p>

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

<p id="xdx_844_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zrp5Sd4hKgYe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(s)
<i><span id="xdx_86B_zhyyqDBoaIMf">Goodwill and Intangible Assets</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
represents the excess of the purchase price of an acquired entity over the amounts assigned to the assets acquired and liabilities assumed.
Goodwill is not amortized, but is reviewed for impairment annually or more frequently if certain impairment conditions arise. The Company
performs an annual goodwill impairment review in the fourth quarter of each year at the reporting unit level. The evaluation begins with
a qualitative assessment of the factors that could impact the significant inputs used to estimate fair value. If after performing the
qualitative assessment, it is determined that it is more likely than not that the fair value of a reporting unit is greater than its
carrying amount, including goodwill, then no further analysis is necessary. However, if the results of the qualitative test are unclear,
the Company performs a quantitative test, which involves comparing the fair value of a reporting unit with its carrying amount, including
goodwill. The Company uses an income-based valuation method, determining the present value of future cash flows, to estimate the fair
value of a reporting unit. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered
not impaired, and no further analysis is necessary. If the fair value of the reporting unit is less than its carrying amount, goodwill
impairment would be recognized equal to the amount of the carrying value in excess of the reporting unit&#8217;s fair value, limited
to the total amount of goodwill allocated to the reporting unit.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
assets primarily include trademarks and trade secrets with indefinite lives and customer-relationships with finite lives. Intangible
assets with indefinite lives are not amortized but are tested for impairment on an annual basis, or more frequently if indicators of
impairment are present. Indefinite lived intangible assets are assessed using either a qualitative or a quantitative approach. The qualitative
assessment evaluates factors including macro-economic conditions, industry and company-specific factors, legal and regulatory environments,
and historical company performance in assessing fair value. If it is determined that it is more likely than not that the fair value of
the intangible asset is less than its carrying value, a quantitative test is then performed. Otherwise, no further testing is required.
When using a quantitative approach, the Company compares the fair value of the intangible asset to its carrying amount. If the estimated
fair value of the intangible asset is less than the carrying amount of the intangible asset, impairment is indicated, requiring recognition
of an impairment charge for the differential.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 350, <i>Intangibles &#8211; Goodwill and Other, </i>(ASC 350), qualitative assessments of goodwill
and indefinite-lived intangible assets were performed at December 31, 2023. Based on the results of the assessment, it was determined
that it is more likely than not the reporting unit, customer lists and trademarks had a fair value in excess of their carrying amounts.
Accordingly, no further impairment testing was completed and no impairment charges related to goodwill or indefinite-lived intangibles
were recognized during the three months ended March 31, 2024.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Finite-lived
intangible assets are amortized on a straight-line basis over their estimated useful lives. The Company reviews for impairment indicators
of finite-lived intangibles and other long-lived assets as described in the &#8220;Impairment of Long Lived Assets&#8221; significant
accounting policy.</span></p>

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

<p id="xdx_840_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zTaqRYX9b7W2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(t)
<i><span id="xdx_864_z6PfYdnSZJZg">Recent Accounting Pronouncements</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has implemented all applicable new accounting pronouncements that are in effect. Those pronouncements did not have any material
impact on the consolidated financial statements unless otherwise disclosed, and the Company does not believe that there are any other
new accounting pronouncements that have been issued that might have a material impact on its financial position or results of operations.</span></p>

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




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

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757160492304">
<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, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureLeasesAbstract', window );"><strong>Leases</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_LesseeOperatingLeasesTextBlock', window );">LEASES</a></td>
<td class="text"><p id="xdx_80C_eus-gaap--LesseeOperatingLeasesTextBlock_zoTy3753qEm2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>3.
<span id="xdx_821_zC4SSi3JeJB6">LEASES</span> </b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Leases
are evaluated and classified as either operating or finance leases by the lessee and as either operating, sales-type or direct financing
leases by the lessor. For leases with terms greater than 12 months, the Company records the related right-of-use (&#8220;ROU&#8221;)
asset and lease obligation at the present value of lease payments over the term. Leases may include fixed rental escalation clauses,
renewal options and / or termination options that are factored into the determination of lease payments when appropriate. The Company&#8217;s
operating leases are included in ROU assets, lease liabilities-current portion and lease liability-long term portion in the accompanying
consolidated balance sheets. ROU assets represent the Company&#8217;s right to use an underlying asset for the lease term, and lease
liabilities represent the obligation to make lease payments arising from the lease. The Company&#8217;s leases do not usually provide
a readily determinable implicit rate; therefore, an estimate of the Company&#8217;s incremental borrowing rate is used to discount the
lease payments based on information available at the lease commencement date. The discount rate used was <span id="xdx_909_eus-gaap--LesseeOperatingLeaseDiscountRate_iI_pid_dp_uPure_c20240331_zqc74eEb5ufi" title="Operating leases discount rate">5.5</span>%.</span></p>

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

<p id="xdx_894_ecustom--SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_zsSpCTbKYj82" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
March 2024, the Company consolidated NanoChem operations into the Peril, IL locations and terminated the lease in Naperville, IL.
The Company had to pay a penalty of $<span id="xdx_90F_eus-gaap--OperatingLeaseLeaseIncomeLeasePayments_c20240101__20240331_zgz1VpLPilSg" title="Payment of penalty">35,910</span>
and forfeited the $<span id="xdx_906_eus-gaap--SecurityDeposit_iI_c20240331_zcckKAtE4Ov4" title="Security deposit">5,440</span> security deposit to terminate the lease early and incurred a loss of $<span id="xdx_908_eus-gaap--GainLossOnTerminationOfLease_iN_di_c20240101__20240331_ztPGBT1Zs9Qf" title="Loss on terminating lease">41,350</span>
on early termination of the lease. The table below summarizes the right-of-use asset and lease liability for the periods ended March
31, 2024 and December 31, 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B0_zmkB5qLPhHA6" style="display: none">SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline; font-weight: bold; text-align: left">Right of Use Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%">Balance at December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20230101__20231231_zYC4ZP0Bdm35" style="width: 16%; text-align: right" title="Right of use assets, beginning balance">167,222</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Depreciation</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20230101__20231231_zhgb6w3Pkk7h" style="border-bottom: Black 1.5pt solid; text-align: right" title="Depreciation">(51,929</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance at December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20240101__20240331_zgdtTqmrmsX" style="text-align: right" title="Right of use assets, beginning balance">115,293</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20240101__20240331_zZF8EBsIhQC9" style="text-align: right" title="Depreciation">(13,694</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Early termination of lease</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_982_ecustom--OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_iN_pp0p0_di_c20240101__20240331_zFwDEgAfn5nc" style="border-bottom: Black 1.5pt solid; text-align: right" title="Right of use assets, early termination of lease">(101,599</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance at March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98B_eus-gaap--OperatingLeaseRightOfUseAsset_iE_pp0p0_c20240101__20240331_zwWLzyppwcHl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Right of use assets, ending balance"><span style="-sec-ix-hidden: xdx2ixbrl0676">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline; font-weight: bold; text-align: left">Lease Liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20230101__20231231_zcSBRJuI75Kk" style="text-align: right" title="Lease liability, beginning balance">167,222</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--LeaseInterestExpense_pp0p0_c20230101__20231231_zj67bxoJPii" style="text-align: right" title="Lease interest expense">6,151</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Payments</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20230101__20231231_zAde8F1VAwd4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Payments">(58,080</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance at December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98A_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20240101__20240331_zyxcnXpTPGsg" style="text-align: right" title="Lease liability, beginning balance">115,293</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--LeaseInterestExpense_pp0p0_c20240101__20240331_zKAtcOFsKGy7" style="text-align: right" title="Lease interest expense">1,186</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20240101__20240331_ziaIVBZrflfd" style="text-align: right" title="Payments">(14,880</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Early termination of lease</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_ecustom--OperatingLeaseLiabilityEarlyTerminationOfLease_iN_pp0p0_di_c20240101__20240331_zGtrZxzbp0zj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Lease liability, early termination of lease">(101,599</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance at March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98B_eus-gaap--OperatingLeaseLiability_iE_pp0p0_c20240101__20240331_zw7hddC1nyt8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Lease liability, ending balance"><span style="-sec-ix-hidden: xdx2ixbrl0692">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">FSI_DisclosureLeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/842-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>20
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757160043088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCOUNTS RECEIVABLE<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Receivables [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_FinancingReceivablesTextBlock', window );">ACCOUNTS RECEIVABLE</a></td>
<td class="text"><p id="xdx_808_eus-gaap--FinancingReceivablesTextBlock_zdYu2iZsVFP7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>4.
<span id="xdx_824_zD95rNBnXMfb">ACCOUNTS RECEIVABLE </span></b></span></p>

<p id="xdx_893_eus-gaap--AccountsReceivableAllowanceForCreditLossTableTextBlock_z6rjEeGuPf59" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B6_zrx4DFK8wUQ" style="display: none">SCHEDULE OF ACCOUNTS RECEIVABLE</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_498_20240331_zivVqGBIYXml" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zjwM8ZZCa9Va" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">December 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AccountsReceivableGross_iI_pp0p0_maAANRNzPjC_zAfCaBm4DgJ9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Accounts receivable</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">13,281,820</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">10,133,249</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_iNI_pp0p0_di_msAANRNzPjC_zthV146lLqYe" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Allowances for doubtful accounts</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(289,277</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(290,193</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--AccountsAndNotesReceivableNet_iTI_pp0p0_mtAANRNzPjC_z6hpFZ6ndfNa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total accounts receivable</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">12,992,543</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">9,843,056</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivablesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 financing receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481933/310-10-55-12A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-42<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 44<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-44<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/310-10/tableOfContent<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/310-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivablesTextBlock</td>
</tr>
<tr>
<td style="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_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757260085424">
<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, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">INVENTORIES</a></td>
<td class="text"><p id="xdx_80A_eus-gaap--InventoryDisclosureTextBlock_zEsyAu84VJpd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>5.
<span id="xdx_825_zf6ZDJbSV0L9">INVENTORIES</span> </b></span></p>

<p id="xdx_897_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_z1q0rWdSYWpe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BA_zI96CjLFQ4Yg" style="display: none">SCHEDULE OF INVENTORY</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_498_20240331_zyKJlqIjo6Oi" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zWnbpYTVwEzj" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">December 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--InventoryFinishedGoods_iI_pp0p0_maINzkLt_zNaj9XyKFg99" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Completed goods</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">2,139,797</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">2,682,158</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--InventoryRawMaterialsAndSupplies_iI_pp0p0_maINzkLt_zqPVpQEBrVN5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Raw materials and supplies</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">8,319,459</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">8,452,731</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--InventoryNet_iTI_pp0p0_mtINzkLt_zdMsmYiMcF12" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total inventory</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">10,459,256</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">11,134,889</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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




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

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757254901712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY, EQUIPMENT AND LEASEHOLDS<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">PROPERTY, EQUIPMENT AND LEASEHOLDS</a></td>
<td class="text"><p id="xdx_807_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zl8ORuhcnjcg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>6.
<span id="xdx_82B_z8X5PDb1JNg5">PROPERTY, EQUIPMENT AND LEASEHOLDS </span></b></span></p>

<p id="xdx_892_eus-gaap--PropertyPlantAndEquipmentTextBlock_zS0DBXgJKBKd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zukh3aed8U5" style="display: none">SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zN6zlxXDyv1h" style="vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zzUvUvezMeo5" style="vertical-align: bottom; text-align: center">Accumulated</td><td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zrJ5TneS83Ag" style="vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Cost</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Depreciation</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Net</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr id="xdx_414_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zvOjAwC7GUB6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">12,408,992</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">4,049,352</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">8,359,640</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_417_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zAtE6aaK0slg" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">196,255</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">147,232</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">49,023</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41B_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zGENtOPTREE1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">122,161</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">111,825</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,336</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_412_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zgTgaswUitYc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,424,369</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">6,016,720</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,407,649</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zR0U5vcSK1jg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">440,592</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0736">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">440,592</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41A_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zwkeHdBuMYW9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0740">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_414_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_z5e7JMtHSNN7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Technology</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">100,819</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">100,819</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0743">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_981_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20240331_zrU91weJQVhe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost">23,782,060</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98C_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20240331_ziuaWlWzOMx5" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation">10,514,820</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_984_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20240331_z7A028iNL4w3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total">13,267,240</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zlwJpFEV7dk8" style="text-align: center">December 31, 2023</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zysZDJVltTEf" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zU2lnB4EUwD7" style="text-align: center">December 31, 2023</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Cost</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Depreciation</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Net</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_418_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zwynXpLSzgc8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">12,341,605</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">3,896,887</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">8,444,718</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_41A_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zxoxOT9zrOle" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">196,255</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">140,040</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">56,215</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zfMpk1lXNKWd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">177,623</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">165,048</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,575</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zbyZ1BasbRy3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,017,466</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,799,779</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,217,687</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zVweAIEnSRel" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">440,592</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0763">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">440,592</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zRvFJ9Sv3W49" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0767">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zba0ORoLJCic" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Technology</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">103,292</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">103,292</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0770">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20231231_z2wXXerfkvBi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost">23,365,705</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98E_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20231231_zqOMpInbXSoi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation">10,193,918</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20231231_zFX4GcKuDdLj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total">13,171,787</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Amount
of depreciation expense for three months ended March 31, 2024 was: $<span id="xdx_907_eus-gaap--Depreciation_c20240101__20240331_za3DKrvYLPFb" title="Depreciation">382,669</span> (2023 - $<span id="xdx_907_eus-gaap--Depreciation_c20230101__20230331_zKYERBYJbwTj" title="Depreciation">302,810</span>) and is included in cost of sales in the
unaudited interim condensed consolidated statements of income and comprehensive income.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In January 2024, the Company lost power during a winter storm and some frozen pipes caused damage at two different locations. Insurance was in place and repairs are currently
being made.</span></p>

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

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/360/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757278033104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>GOODWILL AND INTANGIBLE ASSETS<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">GOODWILL AND INTANGIBLE ASSETS</a></td>
<td class="text"><p id="xdx_804_eus-gaap--GoodwillAndIntangibleAssetsDisclosureTextBlock_zQS7ryUpeUC7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>7.
<span id="xdx_827_zm0peL1c8Pba">GOODWILL AND INTANGIBLE ASSETS</span></b></span></p>

<p id="xdx_89F_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zpkjYqyw9UQ3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BB_zYt6c9yNnv98" style="display: none">SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Goodwill</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 82%; padding-bottom: 1.5pt">Balance as of December 31, 2022 and 2023 and March 31, 2024</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right"><span id="xdx_905_eus-gaap--Goodwill_iE_c20221231_ziEl1WGBB1a9" title="Goodwill"><span id="xdx_902_eus-gaap--Goodwill_iE_c20231231_zmblRPN00qLe" title="Goodwill"><span id="xdx_903_eus-gaap--Goodwill_iE_c20240331_zbzbEoH3H9w1" title="Goodwill">2,534,275</span></span></span></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Indefinite Lived Intangible Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance as of December 31, 2022 and 2023 and March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_90C_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20221231_zXtp0SXD4Np6" title="Indefinite lived intangible assets"><span id="xdx_90E_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20231231_zIqeM0UoSb87" title="Indefinite lived intangible assets"><span id="xdx_909_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20240331_z2PAfnQ1W327" title="Indefinite lived intangible assets">770,000</span></span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
relates to the acquisition of ENP Investments. Indefinite lived intangible assets consist of trade secrets and trademarks related to
the acquisition of ENP Investments.</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Definite Life Intangible Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 82%">Balance as of December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsNet_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zJ0dFg6xsYr2" style="width: 14%; text-align: right" title="Definite lived intangible assets, beginning balance">1,670,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--AmortizationOfIntangibleAssets_iN_pp0p0_di_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_z1RtnZ4Wyfyi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization">(160,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balances as of December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsNet_iS_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zNFLe4M6eJQj" style="text-align: right" title="Definite lived intangible assets, beginning balance">1,510,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--AmortizationOfIntangibleAssets_iN_pp0p0_di_c20240101__20240331__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zrjgX2H2cTtb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization">(40,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balances as of March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsNet_iE_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_z2ytHZt0v3x3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Definite lived intangible assets, ending balance">1,470,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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




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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
amount of amortization for three months ended March 31, 2024 was $<span id="xdx_90A_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20240331_zUCX6NAx4eX4" title="Amortization">40,000</span> (2023 - $<span id="xdx_90B_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20230331_zkamd89QHhb9" title="Amortization">40,000</span>) and was included in cost of sales in the unaudited
interim condensed consolidated statements of income and comprehensive income.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Definite
lived intangible assets consist of customer relationships and software related to the acquisition of ENP Investments.</span></p>

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

<p id="xdx_893_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zgKvsuzrmpZ" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimated
amortization expense over the next five years is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B6_ztXwALYoAVpf" style="display: none">SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: justify">2024</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_iI_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zmOTfQIU9fE9" style="width: 16%; text-align: right" title="2024">160,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">2025</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zUP3hoRNuBPe" style="text-align: right" title="2025">160,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_pp0p0_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_z4W7ado0iBJa" style="text-align: right" title="2026">160,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pp0p0_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zpHeNGnH3g55" style="text-align: right" title="2027">160,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1.5pt">2028</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_pp0p0_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zRGwt4LIDcE1" style="border-bottom: Black 1.5pt solid; text-align: right" title="2028">160,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757262538352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LONG TERM DEPOSITS<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureLongTermDepositsAbstract', window );"><strong>Long Term Deposits</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_FSI_LongTermDepositsTextBlock', window );">LONG TERM DEPOSITS</a></td>
<td class="text"><p id="xdx_804_ecustom--LongTermDepositsTextBlock_zf4x7h5PTEuj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>8.
<span style="font-variant: small-caps"><span id="xdx_822_zmBf2gcJGl26">LONG TERM DEPOSITS</span> </span></b></span></p>

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

<p id="xdx_896_ecustom--ScheduleOfLongTermDepositsTableTextBlock_z01JCisFMpD7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has security deposits that are long term in nature which consist of damage deposits held by landlords and deposits held by various
vendors for equipment purchases.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BC_zwI67e96r4ee" style="display: none">SCHEDULE OF LONG TERM DEPOSITS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_493_20240331_zqtK2CbPFxp1" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49F_20231231_zVCo1SMrvA7j" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">December 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--DepositsAssetsNoncurrent_iI_pp0p0_zq0nnH5LZKFj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt; width: 60%">Long term deposits</td><td style="padding-bottom: 1.5pt; width: 2%">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left; width: 1%">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right; width: 16%">840,592</td><td style="padding-bottom: 1.5pt; text-align: left; width: 1%">&#160;</td><td style="padding-bottom: 1.5pt; width: 2%">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left; width: 1%">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right; width: 16%">824,254</td><td style="padding-bottom: 1.5pt; text-align: left; width: 1%">&#160;</td></tr>
  </table>

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

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLongTermDepositsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">FSI_DisclosureLongTermDepositsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_LongTermDepositsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Long term deposits [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;">FSI_LongTermDepositsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757158544016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract', window );"><strong>Equity Method Investments and Joint Ventures [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_EquityMethodInvestmentsDisclosureTextBlock', window );">INVESTMENTS</a></td>
<td class="text"><p id="xdx_807_eus-gaap--EquityMethodInvestmentsDisclosureTextBlock_zzg95Nw7Y6p2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>9.
<span id="xdx_821_zbBm1lDcGE34">INVESTMENTS</span> </b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-variant: small-caps">T</span>he
Company previously held a <span id="xdx_903_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--EnpPeruInvestmentsLlcMember_zoqXyBUkvTac">50</span>% ownership interest in ENP Peru, split between NanoChem (<span id="xdx_909_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--NanoChemMember_zrm7eJFKHfbe">41.67</span>%) and ENP Investments (<span id="xdx_904_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_z0rpFkzOd0o2">8.33</span>%), which was
acquired in fiscal 2016. ENP Peru is located in Illinois and leases warehouse space to other entities in the Company. In June 2022, NanoChem
acquired an additional <span id="xdx_903_ecustom--AdditionalEquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20220630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--NanoChemMember_zDxcQuDJp6il" title="Additional equity method investment ownership percentage">50</span>% ownership interest at a cost of $<span id="xdx_90D_eus-gaap--BusinessCombinationConsiderationTransferred1_c20220601__20220630__srt--OwnershipAxis__custom--ENPPeruMember_zYmxok5G9pRj" title="Purchase consideration">506,659</span> paid through a new $<span id="xdx_906_eus-gaap--Cash_iI_c20220630__srt--OwnershipAxis__custom--ENPPeruMember_z2UAAX81vCQd">259,000</span> mortgage and cash on hand. The <span id="xdx_907_eus-gaap--MinorityInterestOwnershipPercentageByNoncontrollingOwners_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--EnpnvestmentsLlcMember_zWkd5umF1Bnj" title="Non-controlling interest percentage">35</span>% non-controlling
interest of the <span id="xdx_902_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20231231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zCCqGNzDOlyi">8.33</span>% owned by ENP Investments is included in non-controlling interest in these consolidated financial statements. The
Company&#8217;s investment in ENP Peru was previously accounted for using the equity method, however, it is now consolidated into the
consolidated financial statements from the date control was obtained. In June 2023, NanoChem purchased the remaining <span id="xdx_901_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20230630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zFU72XjOR9U6">8.33</span>% of ENP Peru
from ENP Investments to become full owner.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">It
was determined that ENP Peru did not meet the definition of a business in accordance with FASB Codification Topic 805, <i>Business Combinations
</i>(ASC 805)<i>, </i>and the acquisition was accounted for as an asset acquisition. The following table summarizes the final purchase
price allocation of the consideration paid to the respective fair values of the assets acquired and liabilities assumed in ENP Peru as
of the acquisition date. The gain on acquisition of ENP Peru represents a gain on remeasurement of the Company&#8217;s equity method
investment immediately prior to the acquisition date.</span></p>

<p id="xdx_890_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zvy2uXMfv6I9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BB_zHOnoIqLr5X1" style="display: none">SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_498_20240101__20240331_z1UPgT0yUx1b" style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessCombinationConsiderationTransferred1_zXIp0fYZhfIb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left; padding-bottom: 1.5pt">Purchase consideration</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right">506,659</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Assets acquired:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iE_zmqQbUZ76JSl" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Cash</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,330</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_iE_zSdJDuzHtPr6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Building</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,750,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_iE_z79ZdcuRJq65" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">150,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Liabilities assumed:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_iNE_di_z2Vh7wfvAmc8" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred tax liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(174,582</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_404_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_iE_zO3HAk9SRaf8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Long term debt</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(2,849,500</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iE_zrIawlBVHE5l" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total identifiable net assets:</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">883,248</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_iE_zG8O39oQ26Od" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Excess of assets acquired over consideration</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">376,589</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--InvestmentEliminatedUponConsolidation_zmqcqVzEqusg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Less investment eliminated upon consolidation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(41,538</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40D_ecustom--GainOnAcquisitionOfSubsidiary_ztzEqmj16bqc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Gain on acquisition of ENP Peru</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">335,051</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p id="xdx_89B_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zBcBhrwl7oZf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
summary of the Company&#8217;s investment follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zI6ks6LIzNka" style="display: none">SCHEDULE OF EQUITY METHOD INVESTMENT</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="text-align: left; width: 1%">&#160;</td><td id="xdx_985_eus-gaap--EquityMethodInvestments_iS_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_z1tWRSEEtvjg" style="text-align: right; width: 16%" title="Beginning, balance">22,642</td><td style="text-align: left; width: 1%">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Return of equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--EquityMethodInvestmentReturnOfEquity_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_z6bZpdAYXRBi" style="text-align: right" title="Balance, Beginning">(8,750</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_znuTNDUIpPU8" style="text-align: right" title="Balance, Beginning">27,646</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Investment eliminated upon consolidation</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_ecustom--InvestmentEliminatedUponConsolidation_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zKhC5ymXWRr8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Balance, Beginning">(41,538</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Balance, December 31, 2023 and March 31, 2024</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span id="xdx_90E_eus-gaap--EquityMethodInvestments_iE_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zYFartQrOd2d" title="Ending, balance"><span id="xdx_90F_eus-gaap--EquityMethodInvestments_iE_c20240101__20240331__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zeibChWP65U7" title="Ending, balance"><span style="-sec-ix-hidden: xdx2ixbrl0877"><span style="-sec-ix-hidden: xdx2ixbrl0879">-</span></span></span></span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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




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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">b<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In December 2018, the Company invested $<span id="xdx_906_eus-gaap--Investments_iI_c20181231__dei--LegalEntityAxis__custom--AppliedHoldingCorpMember_zYClsbB3t6se" title="Investment">200,000</span>
in Applied Holding Corp. (&#8220;Applied&#8221;). Applied is a captive insurance company and the Company received a non-convertible promissory
note for its investment which becomes due in 2021 but may be extended with notice for a maximum of two years. During the year ended December
31, 2021, the Company entered an agreement with Applied to extend the maturity date of this promissory note to <span id="xdx_908_ecustom--DebtInstrumentMaturityMonthYear_c20210101__20211231_zg9Pjcwkhvvd" title="Debt maturity">December 2023</span>. In October
2023, the Company received the payment of $<span id="xdx_906_eus-gaap--Investments_iI_c20231031_zb5kPMmhbWM7" title="Investment">200,000</span> to settle the promissory note and the balance of this investment at March 31, 2024
is $<span id="xdx_90B_eus-gaap--Investments_iI_dxL_c20240331_zA34baobBQP8" title="Investment::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl0887">nil</span></span> (December 31, 2023 - $<span id="xdx_90B_eus-gaap--Investments_iI_dxL_c20231231_zXBpzQvGtRj1" title="Investment::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl0889">nil</span></span>). In accordance with FASB Codification Topic 321, <i>Investments &#8211; Equity Securities (</i>ASC
321), the Company has elected to account for this investment at cost.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif">(</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>c<span style="font-variant: small-caps">)
</span></b>In December 2018, the Company invested $<span id="xdx_903_eus-gaap--Investments_iI_c20181231__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zCiMBGf4Itxl" title="Investment">500,000</span> in Trio Opportunity Corp. (&#8220;Trio&#8221;), a privately held entity and
a further $<span id="xdx_908_eus-gaap--Investments_iI_c20230430__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zDimit4j53s2" title="Investment">470,000</span> was invested in April 2023. Trio is a real estate investment vehicle and the Company received <span id="xdx_90B_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20181201__20181231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zLWRmGj58Qv1" title="Common stock issued, shares">97,000</span> non-voting Class
B shares at $<span id="xdx_903_eus-gaap--SharePrice_iI_pid_c20181231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zLvWTPgQr3cj" title="Share price">10.00</span>/share. In accordance with ASC 321, the Company has elected to account for this investment at cost.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(d)
</b>In January 2019, the Company invested in a Florida based LLC that is engaged in international sales of fertilizer additives. The
Company accounts for this investment using the equity method of accounting. According to the operating agreement, the Company has a <span id="xdx_906_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20190131__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zVw0AwPcLdUa" title="Ownership percentage">50</span>%
interest in the profit and loss of the Florida based LLC but does not have control. <span style="background-color: white">A summary of
the Company&#8217;s investment follows:</span></span></p>

<p id="xdx_89F_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zjJDzXoVxSzb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BE_zWnWOFTcVoVh" style="display: none">SCHEDULE OF EQUITY METHOD INVESTMENT</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zgrEJA0sfFEc" style="width: 16%; text-align: right" title="Balance, Beginning">3,758,895</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zzDMnG07uNul" style="text-align: right" title="Gain in equity method investment">505,065</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Return of equity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zg6CrKcPBmj8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Return of equity">(200,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zNMuAMurqGR4" style="text-align: right" title="Balance, Beginning">4,063,960</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zsYyQ5aeEJU4" style="text-align: right" title="Gain in equity method investment">182,201</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Return of equity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zz2mMIBKBv91" style="border-bottom: Black 1.5pt solid; text-align: right" title="Return of equity">(327,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance, March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_984_eus-gaap--EquityMethodInvestments_iE_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zfQxHoRTy7Ji" style="border-bottom: Black 1.5pt solid; text-align: right" title="Balance, Ending">3,919,161</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p id="xdx_890_eus-gaap--GainLossOnInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zhyhPTmR8G6a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Summarized
profit and loss information related to the equity accounted investment is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BC_z30TsSXlgd0i" style="display: none">SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20240101__20240331_zMbJmA61lIf" style="border-bottom: Black 1.5pt solid; text-align: center">Three months <br/> ended <br/> March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_497_20230101__20230331_zw3kA14MAccc" style="border-bottom: Black 1.5pt solid; text-align: center">Three months <br/> ended <br/> March 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--GainsLossesOnSalesOfInvestmentRealEstate_zYrQmVeDJJWf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Net sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">3,319,582</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">3,447,125</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--RealizedInvestmentGainsLosses_zIr740Rj5sXa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,014,988</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">965,052</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--RealizedInvestmentGainsLossesNet_zMkgRwI1eZ2h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">364,403</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">139,990</td><td style="text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the three months ended March 31, 2024, the Company had sales of $<span id="xdx_907_eus-gaap--Revenues_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zGti3i4RG2ha" title="Sales">2,299,938</span> (2023 - $<span id="xdx_90C_eus-gaap--Revenues_c20230101__20230331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zTFVvprWVB9j" title="Sales">1,778,897</span>) to the Florida Based LLC, of which $<span id="xdx_907_eus-gaap--AccountsReceivableNet_iI_c20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z4caaoK398J1" title="Accounts receivable related parties">1,723,833</span>
is included within Accounts Receivable as at March 31, 2024 (December 31, 2023 - $<span id="xdx_90E_eus-gaap--AccountsReceivableNet_iI_c20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zPH0JxN6PRn9" title="Accounts receivable related parties">2,073,813</span>).</span></p>

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




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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(e)
</b>In December 2020, the Company invested $<span id="xdx_906_eus-gaap--PaymentsToAcquireInvestments_pp0p0_c20201201__20201231__dei--LegalEntityAxis__custom--LygosIncMember_zRUtpUWD9qo6">500,000</span> in Lygos Inc. (&#8220;Lygos&#8221;), a privately held entity, under a Simple Agreement
for Future Equity (&#8220;SAFE&#8221;) agreement. Lygos is a company developing a sustainable aspartic acid microbe strain. In 2021,
the Company made a second SAFE investment of $<span id="xdx_903_eus-gaap--PaymentsToAcquireInvestments_c20210101__20211231__dei--LegalEntityAxis__custom--LygosIncMember_zXfkYgafcq04">500,000</span> for a total of $<span id="xdx_90D_eus-gaap--Investments_iI_c20211231__dei--LegalEntityAxis__custom--LygosIncMember_z9pi3l09LrJ7" title="Investment">1,000,000</span>. In accordance with ASC 321, the Company has elected
to account for this investment at cost.</span></p>

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

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EquityMethodInvestmentsAndJointVenturesAbstract</td>
</tr>
<tr>
<td style="padding-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_EquityMethodInvestmentsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity method investments and joint ventures. Equity method investments are investments that give the investor the ability to exercise significant influence over the operating and financial policies of an investee. Joint ventures are entities owned and operated by a small group of businesses as a separate and specific business or project for the mutual benefit of the members of the group.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478156/740-323-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 323<br> -Publisher FASB<br> -URI https://asc.fasb.org/323/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757154194400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SHORT-TERM LINE OF CREDIT<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTextBlock', window );">SHORT-TERM LINE OF CREDIT</a></td>
<td class="text"><p id="xdx_802_eus-gaap--ShortTermDebtTextBlock_zzgXEZP3Cm1f" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>10.
<span id="xdx_824_zduMLCTbVz99">SHORT-TERM LINE OF CREDIT</span> </b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In June 2023, ENP Investments renewed the
line of credit with Stock Yards Bank and Trust (&#8220;Stock Yards&#8221;), increasing the limit by $<span id="xdx_90C_eus-gaap--LineOfCreditFacilityCurrentBorrowingCapacity_iI_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zgnJP6AkKRg8">500,000</span> from the previous line of
credit. The revolving line of credit is for an aggregate amount of up to the lesser of (i) $<span id="xdx_903_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zmJdsvCBU9Xk">4,500,000</span>, or (ii) 50-80% of eligible domestic
accounts receivable plus <span id="xdx_90A_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zgRewOqM0SAl">50</span>% of inventory, capped at $<span id="xdx_907_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zmYEsK8PKvU5">2,000,000</span>. Interest on the unpaid principal balance of this loan will be calculated
using the greater of prime or 8.25%. The interest rate at March 31, 2024 is <span id="xdx_90D_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zlQnDFFPD1cf">8.5</span>% (December 31, 2023 - <span id="xdx_906_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zx3fRnqVpL93">8.5</span>%).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provisions
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yard&#8217;s access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. NanoChem is a guarantor of <span id="xdx_900_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20240331__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zbYSHOU7GMyi" title="Loan guaranteed rate">65</span>% of all the principal and other loan costs not to exceed $<span id="xdx_90C_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20240331__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zyDa42pURjCf" title="Line of credit">2,925,000</span>.
The non-controlling interest is the guarantor of the remaining <span id="xdx_909_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--NoncontrollingInterestMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zZqrxxPsqFZ6" title="Loan guaranteed rate">35</span>% of all the principal and other loan costs not to exceed $<span id="xdx_905_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--NoncontrollingInterestMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zcETT7JEgfRf" title="Line of credit">1,575,000</span>.
As of March 31, 2024, ENP Investments was in compliance with all loan covenants.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
secure the repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest
in substantially all of the assets of ENP Investments, exclusive of intellectual property assets.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Short-term
borrowings outstanding under the revolving line as of March 31, 2024 were $<span id="xdx_908_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20240331__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zetMpjnH6Tig" title="Short term borrowings">3,259,935</span> (December 31, 2023 - $<span id="xdx_90E_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zKRcrxA1IRJb" title="Short term borrowings">1,810,479</span>).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(b)
</b>In June 2023, the Company renewed the line of credit with Stock Yards Bank and Trust (&#8220;Stock Yards&#8221;). The revolving line
of credit is for an aggregate amount of up to the lesser of (i) $<span id="xdx_901_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zqHGVk4Tkf4f" title="Aggregate amount of revolving line of credit">4,000,000</span>, or (ii) <span id="xdx_906_ecustom--EligiblePercentageOfDomesticAccountsReceivable_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zWnCHR775oJ8" title="Eligible percentage of domestic accounts receivable">80</span>% of eligible domestic accounts receivable and
certain foreign accounts receivable plus <span id="xdx_90D_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z2M5EM0kXRc9" title="Percentage of foreign accounts receivable of inventory">50</span>% of inventory, capped at $<span id="xdx_908_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zQ96dAkneone" title="Debt face amount">2,000,000</span>. Interest on the unpaid principal balance of this loan
will be calculated using the greater of prime or 8.25%. The interest rate at March 31, 2024 is <span id="xdx_901_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20240331__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z4Mq1RfjoJtl" title="Interest rate">8.5</span>% (December 31, 2023 - <span id="xdx_90E_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zopnpTzdzO6a" title="Interest rate">8.5</span>%).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provision
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yards access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. The covenants also require that the Company maintain a minimum ratio of qualifying financial
assets to the sum of qualifying financial obligations. As of March 31, 2024, the Company was in compliance with all loan covenants.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
secure repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest in substantially
all of the assets of NanoChem, exclusive of intellectual property assets.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Short-term
borrowings outstanding under the revolving line as of March 31, 2024 were $<span id="xdx_908_eus-gaap--ShortTermBorrowings_iI_dxL_c20240331__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zVVFTsvPdqbk" title="Short term borrowings::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl0972">nil</span></span> (December 31, 2023 were $<span id="xdx_90C_eus-gaap--ShortTermBorrowings_iI_dxL_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zWmaKwZqfzRd" title="Short term borrowings::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl0974">nil</span></span>).</span></p>

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

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for short-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/470/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757255094544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LONG TERM DEBT<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtTextBlock', window );">LONG TERM DEBT</a></td>
<td class="text"><p id="xdx_801_eus-gaap--LongTermDebtTextBlock_zB0uAef4488h" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>11.
<span id="xdx_829_zcMrA9Thx0O">LONG TERM DEBT</span> </b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(a)
</b>In January 2020, ENP Mendota refinanced its mortgage and signed a loan for $<span id="xdx_90D_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zqHHTKKWLUVg">450,000</span> with Stock Yards to be repaid over <span id="xdx_903_eus-gaap--DebtInstrumentTerm_dtY_c20200101__20200131__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_z4SVLGeqzOMj">10</span> years with
monthly installments plus interest. Interest for the first five years is at <span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_zejznE5I95el">4.35</span>% and it will be adjusted for the last five years to
the Cincinnati Federal Home Bank Loan <span id="xdx_90B_eus-gaap--DebtInstrumentTerm_dtY_c20200101__20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zajnCyUEGFwf">5</span> year fixed index plus <span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zV2TBgl3r7k">4.5</span>%. Interest expense for the three months ended March 31, 2024 was $<span id="xdx_905_eus-gaap--InterestExpenseDebt_pp0p0_c20240101__20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_z4ll8TmTCQ0l" title="Interest expense debt">4,373</span>
(2023 - $<span id="xdx_90A_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zPTfrYGiHDGl" title="Interest expense debt">4,501</span>). The balance owing at March 31, 2024 was $<span id="xdx_902_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_z8bNb2iQUu5">396,371</span> (December 31, 2023 - $<span id="xdx_90F_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zfwoVTdv5MM5">399,269</span>).</span></p>

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




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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.4in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">To
secure repayment of any amounts borrowed under the mortgage, the Company granted Stock Yards a security interest in real property under
the mortgage and all rents on said property.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(b)
</b>In June 2022, NanoChem signed a loan for $<span id="xdx_904_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zSNqGVXCDrn5" title="Debt instrument face amount">1,935,000</span> with Stock Yards with an interest rate of<span id="xdx_90E_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zPlf20WxzWi8" title="Debt instrument interest rate stated percentage"> 4.90</span>% to be repaid over <span id="xdx_901_eus-gaap--DebtInstrumentTerm_c20220601__20220630__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_z12XB2BR6ptb">three years</span>
with equal monthly payments including interest. The funds were used to replace the loans at Midland for the purchase of the <span id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zBp1AgiPAClk" title="Debt instrument interest rate stated percentage">65</span>% interest
in ENP Investments and the new manufacturing equipment. Interest expense for the three months ended March 31, 2024 was $<span id="xdx_90B_eus-gaap--InterestExpenseDebt_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zAyUisVq7Ux8">11,801</span> (2023
- $<span id="xdx_90B_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230331__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zdHFjtLZidHa">19,409</span>). The balance owing at March 31, 2024 was $<span id="xdx_903_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zFP5nO9PVlL1" title="Debt Long term debt amount">842,828</span> (December 31, 2023 - $<span id="xdx_902_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zckraeekMEGe" title="Debt Long term debt amount">1,004,748</span>).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(c)
</b>In January 2020 ENP Peru signed a $<span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zfCEMzKHFXLl" title="Debt instrument face amount">3,000,000</span> loan with an interest rate <span id="xdx_904_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_ztJhSrPuyIF1" title="Debt instrument interest rate stated percentage">4.35</span>% to be repaid over <span id="xdx_90A_eus-gaap--DebtInstrumentTerm_c20200101__20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zsdUZQEj1lf2">ten years</span> with equal monthly payments
including interest. Upon the purchase of the remainder of ENP Peru in June 2022, the Company assumed the first mortgage at Stock Yards
with a balance of $<span id="xdx_901_eus-gaap--LoansPayable_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zwrxvzapWXS4" title="First mortgage">2,849,500</span>. Interest expense for the three months ended March 31, 2024 was $<span id="xdx_90F_eus-gaap--InterestExpense_pp0p0_c20240101__20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zRnuJ0HuMJCj" title="Interest expense">30,003</span> (2023 - $<span id="xdx_90C_eus-gaap--InterestExpense_pp0p0_c20230101__20230331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zusO4ljsVE8e" title="Interest expense">30,530</span>). The balance owing
at March 31, 2024 was $<span id="xdx_906_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zZ9o0aGt4zZ3" title="Debt instrument face amount">2,717,683</span> (December 31, 2023 - $<span id="xdx_90B_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zVnEJr557XCc" title="Debt instrument face amount">2,737,232</span>).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(d)
</b>In June 2022, ENP Peru obtained a second mortgage for $<span id="xdx_90C_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zaVOb6TVz5gd" title="Debt instrument face amount">259,000</span> with Stock Yards to be repaid over <span id="xdx_904_eus-gaap--DebtInstrumentTerm_dtY_c20220601__20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zPoiulLiA8t7" title="Debt instrument term">10</span> years with monthly installments
plus interest with an interest rate of <span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zyb4Dw5kCvpf" title="Debt instrument interest rate stated percentage">5.4</span>%. Interest expense for the three months ended March 31, 2024 was $<span id="xdx_90E_eus-gaap--InterestExpenseDebt_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zIXx3rm36Y84" title="Interest expense debt">3,409</span> (2023 - $<span id="xdx_90A_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230331__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zd64tq4eVeOg" title="Interest expense debt">3,452</span>). The
balance owing at March 31, 2024 was $<span id="xdx_90B_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20240331__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zwEFjT3dAo84" title="Debt instrument face amount">248,658</span> (December 31, 2023 - $<span id="xdx_90E_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20231231__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zvjg9h5zCX14" title="Debt instrument face amount">250,207</span>).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(e)
</b>In December 2022, NanoChem signed a three year loan for up to $<span id="xdx_90B_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zaUo67D94lG1" title="Debt instrument face amount">2,000,000</span> with Stock Yards with an interest rate of <span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zAXbLVdeaVdc" title="Debt instrument interest rate stated percentage">6.5</span>%. Interest
only payments are required for the first 18 months with interest and principal being paid in the last 18 months. The funds are being
used to purchase new manufacturing equipment. Interest expense for the three months ended March 31, 2024 was $<span id="xdx_90E_eus-gaap--InterestExpenseDebt_pp0p0_c20240101__20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zBovbHyQmMO7" title="Interest expense debt">23,525</span> (2022 - $<span id="xdx_90E_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zwPY80uzMKT6" title="Interest expense debt">15,917</span>).
The balance owing at March 31, 2024 was $<span id="xdx_907_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zDtaX79d7M9k" title="Debt Long term debt amount">1,533,004</span> (December 31, 2023 - $<span id="xdx_908_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zR6fZkUXVUHd" title="Debt Long term debt amount">1,475,188</span>).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(f)
</b>In June 2023, 317 Mendota signed a five year loan for up to $<span id="xdx_907_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zNQDDllmHHR5" title="Debt instrument face amount">3,240,000</span> with Stock Yards to purchase a building and any necessary
renovations. Interest only payments are required for the first 12 months with interest and principal being paid the remaining four years
and a lump sum due in June 2028. Interest expense for the three months ended March 31, 2024 was $<span id="xdx_906_eus-gaap--InterestExpenseDebt_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--MendotaMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zTpEMF3Gx7O5" title="Interest expense debt">46,886</span> (2023 - $<span id="xdx_90A_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20230101__20230331__dei--LegalEntityAxis__custom--MendotaMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zs0csiEgNhK8" title="Interest expense debt::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1047">nil</span></span>). The balance owing
at March 31, 2024 was $<span id="xdx_90A_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zo9NCH2llbLb" title="Debt Long term debt amount">2,248,292</span> (December 31, 2023 - $<span id="xdx_901_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zo2H5WXxe93b" title="Debt Long term debt amount">2,248,292</span>).</span></p>

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

<p id="xdx_89B_ecustom--ScheduleOfLoanCovenantsTableTextBlock_zctQHSpVvtJg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of March 31, 2024, Company was in compliance with all loan covenants.&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BA_zUAR8iZADcfg" style="display: none">SCHEDULE OF LOAN COVENANTS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; text-align: left; font-weight: bold; vertical-align: bottom">Continuity</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49D_20240101__20240331_zuvSIOgZZKqc" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49D_20230101__20231231_z8EO1z0rNh5i" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">December 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebt_iS_zNXYxEIrIj02" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%">Balance, January 1</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">8,114,936</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">6,154,077</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LongTermDebt_iS_zdqLEef9LpU6" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Balance, beginning of period</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">8,114,936</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">6,154,077</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_405_eus-gaap--ProceedsFromBankDebt_z0JaLlKrZhfe" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Plus: Proceeds from loans</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">57,816</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,686,682</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--PaymentsForProceedsFromDepositOnLoan_iN_di_zsZ1MqOd0r6h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: Payments on loan</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(185,916</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(725,823</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--LongTermDebt_iE_zEOdrvquHLP9" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Balance, end of period</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">7,986,836</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">8,114,936</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p id="xdx_895_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_zHq2OSm8TR99" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BA_zpmGuloqtTz8" style="display: none">SCHEDULE
OF OUTSTANDING BALANCE LOAN</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; text-align: left; font-weight: bold; vertical-align: bottom">Outstanding balance</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_495_20240331_z8A36R3eeH56" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_495_20231231_zYDcAy9kNwo5" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">December 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember_zAODdPJxaeNl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%; text-align: left">a) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">396,371</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">399,269</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustOneMember_zskNnlR1yKPa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">b) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">842,828</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,004,748</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustTwoMember_ze89XPgI9e8b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">c) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,717,683</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,737,232</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustThreeMember_zZ0mDuwqgoP8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">d) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">248,658</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">250,207</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFourMember_z8T9U2fsjLLi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">e) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,533,004</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,475,188</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFiveMember_zvyexy9NES97" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">f) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">2,248,292</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">2,248,292</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LongTermDebt_iI_zwuME8OzTate" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Long-term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,986,836</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,114,936</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LongTermDebtCurrent_iNI_di_znUU2mJDF2yl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: current portion</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(1,665,440</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(1,281,632</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebtNoncurrent_iI_zoVkVnZ9G1Mb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Long-term debt non current</span></td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">6,321,396</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">6,833,304</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

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




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

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/470/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757159990288">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK OPTIONS<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [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_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">STOCK OPTIONS</a></td>
<td class="text"><p id="xdx_80D_eus-gaap--DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_zkkazxtJYvt3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>12.<span id="xdx_826_zkZxwCc77ckl">
STOCK OPTIONS</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has a stock option plan (&#8220;Plan&#8221;). The purpose of this Plan is to provide additional incentives to key employees,
officers, directors and consultants of the Company and its subsidiaries in order to help attract and retain the best available personnel
for positions of responsibility and otherwise promote the success of the Company&#8217;s business. It is intended that options issued
under this Plan constitute non-qualified stock options. The general terms of awards under the option plan are that <span id="xdx_906_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_pid_dp_uPure_c20240101__20240331_z4cpIRABcBt7" title="Options granted percentage">100</span>% of the options
granted will vest the year following the grant unless a executive employee is granted a multi-year stock option grant where an equal
amount vests over the next <span id="xdx_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20240101__20240331_zYNG2q5ld1Ka" title="Vested term">5</span> years. The maximum term of options granted is <span id="xdx_901_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20240101__20240331_zvWcFbs9wKak" title="Options maximum granted term">5</span> years and the exercise price for all options are issued
for not less than fair market value at the date of the grant.</span></p>

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

<p id="xdx_895_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zMvM4uZk7tyk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the Company&#8217;s stock option activities for the year ended December 31, 2023 and the three-month period
ended March 31, 2024:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span><span id="xdx_8B7_zQYh6YqjJC1d" style="display: none">SCHEDULE OF STOCK OPTION ACTIVITIES</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Number of shares</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Exercise price</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">per share</p></td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Weighted average</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">exercise price</p></td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%">Balance, December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20230101__20231231_zRO2EvRj112d" style="width: 14%; text-align: right" title="Number of shares, Beginning Balance">1,686,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zXCHqPiZOGQ" title="Exercise price per share, Beginning Balance">1.70</span> &#8211; <span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zqWTzGQoqJ6k" title="Exercise price per share, Beginning Balance">4.13</span></span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231_zWAKI7wnHI16" style="width: 14%; text-align: right" title="Weighted average exercise price, Beginning Balance">&#160;&#160;&#160;&#160;3.26</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20230101__20231231_z9T7ti2AEhXk" style="text-align: right" title="Number of shares, Cancelled or expired">(564,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_901_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_z9kuYRpRLq8i" title="Exercise price per share, Cancelled">3.46</span> &#8211; <span id="xdx_90A_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zsj3WxPGJCI6" title="Exercise price per share, Cancelled">4.13</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231_zCXvtCAWBVD4" style="text-align: right" title="Weighted average exercise price, Cancelled or expired">3.55</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20230101__20231231_zcoNEah025tj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised">(8,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_900_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20230101__20231231_znPHz2x0PVIg" title="Exercise price per share, Exercised">1.70</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20230101__20231231_zqFXJZvdvti9" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised">1.70</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20240101__20240331_zjR2lSIkKZp7" style="text-align: right" title="Number of shares, Beginning Balance">1,114,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zYk8Tkx4o8va" title="Exercise price per share, Beginning Balance">1.75</span> &#8211;<span id="xdx_90A_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zygHR4FcYYPh" title="Exercise price per share, Beginning Balance"> 3.61</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20240101__20240331_zTZA5TGiZGB7" title="Weighted average exercise price, Beginning Balance">3.13</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20240331_z24gLJACc8Dk" style="text-align: right" title="Number of shares, Granted">950,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20240101__20240331_zvfYlzmAxNJc" title="Exercise price per share, Granted">2.00</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20240101__20240331_zE1WCWaNmeuf" style="text-align: right" title="Weighted average exercise price, Granted">2.00</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20240101__20240331_z6zgjV2NDgb2" style="text-align: right" title="Number of shares, Cancelled or expired">(103,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_904_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zLc7ZjxguLIa" title="Exercise price per share, Cancelled">1.75</span> &#8211;<span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zmsMC8sZlNrb" title="Exercise price per share, Cancelled"> 3.61</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20240101__20240331_z5K8ttDHcPc6" style="text-align: right" title="Weighted average exercise price, Cancelled or expired">2.06</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20240101__20240331_ziopQcBMwXia" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised">(15,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20240101__20240331_zm0Lrr8aewVg" title="Exercise price per share, Exercised">1.75</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20240101__20240331_zmAZQd3zSP66" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised">1.75</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balance, March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pid_c20240101__20240331_zqzBFBl1dbCg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Ending Balance">1,946,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zJcDShU8qd22" title="Exercise price per share, Ending Balance">2.00</span> &#8211;<span id="xdx_901_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zrcJk6OUNiZj" title="Exercise price per share, Ending Balance"> 3.61</span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20240101__20240331_zx4CdsSwQDE" title="Weighted average exercise price, Ending Balance">2.65</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Exercisable, March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_pid_c20240101__20240331_zVrHK10EmC2d" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares Exercisable, Ending Balance">814,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zU2xdzutyQ82" title="Exercise price per share Exercisable, Ending Balance">2.00</span> &#8211; <span id="xdx_904_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zG0yTZazPPf6" title="Exercise price per share Exercisable, Ending Balance">3.61</span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20240101__20240331_zppk7wGSFWEi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercisable, Ending Balance">2.86</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
weighted-average remaining contractual life of outstanding options is <span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20240331_zkBxZby0b8m6" title="Weighted-average remaining contractual life">3.75</span> years.</span></p>

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

<p id="xdx_892_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zaNhqUc3IFed" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of each option grant is calculated using the following weighted average assumptions:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B3_zv5lfFd364Lf" style="display: none">SCHEDULE
OF STOCK OPTION FAIR VALUE ASSUMPTIONS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">Expected life &#8211; years</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><span id="xdx_905_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20240101__20240331_zUVxC27e0Phk" title="Expected life - years">3.0</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Interest rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zfsra40ugjM4" title="Interest rate">3.893</span> &#8211; <span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zFs1Hc1tzik9" title="Interest rate">4.22</span></span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zfiGAlHTLXSe" title="Volatility">59.72</span> &#8211; <span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zbwDmvCTNFHi" title="Volatility">60.35</span></span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Weighted average fair value of options granted</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zkVQfm8QFdQ2" title="Weighted average fair value of options granted">0.71</span> &#8211; <span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zvUHJTuNZnk1" title="Weighted average fair value of options granted">0.79</span></span></td><td style="text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the three months ended March 31, 2024, the Company granted <span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20240331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zOr2sTR37T2l" title="Stock options granted">56,000</span> (2023 &#8211;<span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_dxL_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zt6G0N8vKzBd" title="Stock options granted::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1195"> nil</span></span>) stock options to consultants and has applied ASC
718 using the Black-Scholes option-pricing model, which resulted in expenses of $<span id="xdx_90E_eus-gaap--StockOptionPlanExpense_c20240101__20240331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zJmC71fHl8Kc" title="Stock option expense">9,940</span> (2023 - $<span id="xdx_900_eus-gaap--StockOptionPlanExpense_dxL_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zxafheLVtVma" title="Stock option expense::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1199">nil</span></span>). Options granted in other years
resulted in additional expenses of $<span id="xdx_908_ecustom--AdditionalExpensesDueToOptionsGranted_dxL_c20240101__20240331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zi8G3gGzgKn8" title="Additional expenses due to options granted::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1201">nil</span></span> (2023 &#8211; $<span id="xdx_900_ecustom--AdditionalExpensesDueToOptionsGranted_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zQFdDFrJCRw" title="Additional expenses due to options granted">62,241</span>). During the three months ended March 31, 2024, employees were granted
<span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20240331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zuYevHBx0xo7" title="Stock options granted">894,000</span> (2023 &#8211; <span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_dxL_c20230101__20230331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zGvK25RZdOy3" title="Stock options granted::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1207">nil</span></span>) stock options, which resulted in expenses of $<span id="xdx_908_eus-gaap--StockOptionPlanExpense_c20240101__20240331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zUDOHCgL8rIh" title="Stock option expense">199,687</span> (2023 &#8211; $<span id="xdx_90D_eus-gaap--StockOptionPlanExpense_dxL_c20230101__20230331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zUF7pQlysPZ3" title="Stock option expense::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1211">nil</span></span>). Options granted in other years
resulted in additional expenses in the amount of $<span id="xdx_909_ecustom--AdditionalExpensesDueToOptionsGranted_c20240101__20240331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zIFJ16obHnla" title="Additional expenses due to options granted">43,730</span> for employees during the three months ended March 31, 2024 (2023 - $<span id="xdx_90F_ecustom--AdditionalExpensesDueToOptionsGranted_c20230101__20230331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zQRc6WT3oXrc" title="Additional expenses due to options granted">328,769</span>).
There were <span id="xdx_901_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20240101__20240331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zvs30swkb6je" title="Stock options exercised">15,000</span> employee and <span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_dxL_c20240101__20240331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zgUsrqbTCfta" title="Stock options exercised::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1219">nil</span></span> consultant stock options exercised during the three months ended March 31, 2024 (2023 &#8211; <span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20230101__20230331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zFFriKI2AkWe" title="Stock options exercised">8,000</span>
employee;<span id="xdx_905_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_dxL_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zOOhbcU6Aq8k" title="Stock options exercised::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1223"> nil</span></span> consultant).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of March 31, 2024, there was approximately $<span id="xdx_906_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pp0p0_c20240331_zxq5v9419A3g" title="Stock vested compensation non vested">822,813</span> of compensation expense related to non-vested awards. This expense is expected to
be recognized over a weighted average period of <span id="xdx_907_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20240101__20240331_zsw3z9I4JeR2" title="Weighted average period expected to be recognized">2.3</span> years.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
aggregate intrinsic value of vested options outstanding at March 31, 2024 is $<span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_dxL_c20240331__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zSHm3y1OxDK2" title="Aggregate intrinsic value of vested options::XDX::-"><span style="-sec-ix-hidden: xdx2ixbrl1229">nil</span></span> (2023 &#8211; $<span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_c20230331__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zqK6OzcEPS6f" title="Aggregate intrinsic value of vested options">161,430</span>). The intrinsic value of options
exercised during the three months ended March 31, 2024 was $<span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_c20240101__20240331__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_z3kAxik5jE9l" title="Aggregate intrinsic value of vested options exercised">720</span> (2023 - $<span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_c20230101__20230331__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zkvmd1jWgQh5" title="Aggregate intrinsic value of vested options exercised">11,520</span>).</span></p>

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




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

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/718/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757260122672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CAPITAL STOCK<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">CAPITAL STOCK</a></td>
<td class="text"><p id="xdx_801_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_zpkLwELTfxv4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>13.
<span id="xdx_82D_z3ql4U8rKyne">CAPITAL STOCK</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the three months ended March 31, 2024, <span id="xdx_90D_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zQ7BiIGnC7Nf" title="Stock options exercised">15,000</span> shares were issued upon the exercise of employee stock options (2023 &#8211; <span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20230101__20230331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zZDCgeeOSgp6" title="Stock options exercised">8,000</span>).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the three months ended March 31, 2023, the Company issued <span id="xdx_900_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230101__20230331_zDbt6WugnwKb" title="Consultant for services, shares">1,272</span> shares to a consultant for services rendered, resulting in an expense
of $<span id="xdx_907_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20230101__20230331_zoapXh0OKkFe" title="Consultant for services, value">4,070</span> on the unaudited interim condensed consolidated statements of income and comprehensive income for the three months ended March
31, 2023.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
2023, the Company announced a special dividend of $<span id="xdx_90A_eus-gaap--DividendsPayableAmountPerShare_iI_pid_c20230331_zhU1B6hRV3F" title="Dividends per share">0.05</span> per share that was paid on May 16, 2023 to shareholders.</span></p>

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

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for 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/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480237/815-40-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/505/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-16<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757160025200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NON-CONTROLLING INTERESTS<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestAbstract', window );"><strong>Noncontrolling Interest [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_MinorityInterestDisclosureTextBlock', window );">NON-CONTROLLING INTERESTS</a></td>
<td class="text"><p id="xdx_809_eus-gaap--MinorityInterestDisclosureTextBlock_zg3wf2sG34f8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>14.
<span id="xdx_829_zu3B2a0Om7eh">NON-CONTROLLING INTERESTS</span> </b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>(</b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">a<span style="font-variant: small-caps">)
</span></span></b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ENP Investments is a limited liability corporation
(&#8220;LLC&#8221;) that manufactures and distributes golf, turf and ornamental agriculture products in Mendota, Illinois. The Company
owns a <span id="xdx_902_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zzKq7fByr5w9" title="Subsidiary company ownership interest rate">65</span>% interest in ENP Investments through its wholly-owned subsidiary NanoChem. An unrelated party (&#8220;NCI&#8221;) owns the
remaining <span id="xdx_905_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zMwHe4nttmT2" title="Related party owner ship percentage">35</span>% interest in ENP Investments. ENP Mendota is a wholly owned subsidiary of ENP Investments. ENP Mendota is a LLC that leases
warehouse space. For financial reporting purposes, the assets, liabilities and earnings of both of the LLC&#8217;s are consolidated into
these financial statements. The NCI&#8217;s ownership interest in ENP Investments is recorded in non-controlling interests in these consolidated
financial statements. The non-controlling interest represents NCI&#8217;s interest in the earnings and equity of ENP Investments. ENP
Investments is allocated to the TPA segment.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">ENP
Investments makes cash distributions to its equity owners based on formulas defined within its Ownership Interest Purchase Agreement
dated October 1, 2018. Distributions are defined in the Ownership Interest Purchase Agreement as cash on hand to the extent it exceeds
current and anticipated long-term and short-term needs, including, without limitation, needs for operating expenses, debt service, acquisitions,
reserves, and mandatory distributions, if any.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From
the effective date of acquisition onward, the minimum distributions requirements under the Ownership Interest Purchase Agreement were
satisfied. The total distribution from the effective date of acquisition onward was $<span id="xdx_900_eus-gaap--PaymentsToMinorityShareholders_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zwAljUs3j3m5" title="Partnership distribution to non-controlling interest">3,225,957</span>.</span></p>

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

<p id="xdx_893_ecustom--ScheduleOfDistributionsTableTextBlock_zE8sFr1iJh45" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B6_zINo4BH5sTAi" style="display: none">SCHEDULE
OF DISTRIBUTIONS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 82%">Balance, December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zZUAUi8CtNqj" style="width: 14%; text-align: right" title="Distribution to noncontrolling interests, Beginning balance">2,605,034</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Distribution</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zMrjK9ukj5Hf" style="text-align: right" title="Distribution">(719,439</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Non-controlling interest share of income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zeKqmhItqBq8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income">1,015,604</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--MinorityInterest_iS_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zUEbqCghElc2" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance">2,901,199</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Non-controlling interest share of income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zlggCZ8KNBi1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income">80,460</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balance, March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_984_eus-gaap--MinorityInterest_iE_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zmY1ohPtzAK4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Ending balance">2,981,659</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During
the three months ended March 31, 2024, the Company had sales of $<span id="xdx_90C_eus-gaap--Revenues_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zVJJj40dW2ti" title="Sales">1,291,426</span>
(2023 - $<span id="xdx_900_eus-gaap--Revenues_c20230101__20230331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zNZRinL09Sxc" title="Sales">1,098,948</span>)
to NCI, of which $<span id="xdx_90A_eus-gaap--AccountsReceivableNetCurrent_iI_c20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zASyqW9NKLXh" title="Accounts receivable">5,381,282</span>
is included in Accounts Receivable as of March 31, 2024 (December 31, 2023 &#8211; $<span id="xdx_901_eus-gaap--AccountsReceivableNetCurrent_iI_c20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zWJOJokZ8Efg" title="Accounts receivable">4,225,028</span>).</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>b<span style="font-variant: small-caps">)
</span></b>317 Mendota is a LLC that owns real estate that the Company intends to occupy part of while renting out the excess. The Company
owns a <span id="xdx_90A_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember_zjfKWDoDhMfl" title="Subsidiary company ownership interest rate">80</span>% interest in 317 Mendota and an unrelated party (&#8220;317 NCI&#8221;) owns the remaining <span id="xdx_908_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20240331__srt--OwnershipAxis__custom--MendotaLLCMember_zqfSfAnuK2Vk" title="Related party owner ship percentage">20</span>% interest in 317 Mendota. For
financial reporting purposes, the assets, liabilities and earnings of 317 Mendota are consolidated into these financial statements. The
317 NCI&#8217;s ownership interest in 317 Mendota is recorded in non-controlling interests in these consolidated financial statements.
The non-controlling interest represents 317 NCI&#8217;s interest in the earnings and equity of 317 Mendota. 317 Mendota is allocated
to the TPA segment as that is the intended use of the building.</span></p>

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

<p id="xdx_893_ecustom--ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_zUPJOqfEJiI1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_zhhGxxdYpXek" style="display: none">SCHEDULE
OF NON CONTROLLING INTEREST RELATED TO ACQUISITION</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z9wXkLZjFNUk" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance"><span style="-sec-ix-hidden: xdx2ixbrl1285">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 82%">Acquisition</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--PaymentsToAcquireBusinessesAndInterestInAffiliates_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z4gghoiVDYD6" style="width: 14%; text-align: right" title="Distribution to noncontrolling interests, Acquisition">200,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Non-controlling interest share of income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zIO75RBXXL8k" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Non-controlling interest share of loss">(35,483</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--MinorityInterest_iS_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zlT9R9TQsOpi" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance">164,517</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Non-controlling interest share of income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zaoFMdorTMUd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Non-controlling interest share of loss">(21,477</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balance, March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98D_eus-gaap--MinorityInterest_iE_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zpGscKwB5ySe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Ending balance">143,040</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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




<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>&#160;</b></span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterestDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 noncontrolling interest in consolidated subsidiaries, which could include the name of the subsidiary, the ownership percentage held by the parent, the ownership percentage held by the noncontrolling owners, the amount of the noncontrolling interest, the location of this amount on the balance sheet (when not reported separately), an explanation of the increase or decrease in the amount of the noncontrolling interest, the noncontrolling interest share of the net Income or Loss of the subsidiary, the location of this amount on the income statement (when not reported separately), the nature of the noncontrolling interest such as background information and terms, the amount of the noncontrolling interest represented by preferred stock, a description of the preferred stock, and the dividend requirements of the preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/810/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_NoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-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>31
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757154336816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [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_SegmentReportingDisclosureTextBlock', window );">SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</a></td>
<td class="text"><p id="xdx_80E_eus-gaap--SegmentReportingDisclosureTextBlock_zs2xfqT288b3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>15.
<span id="xdx_82C_zZif9lWzj0nh">SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</span></b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company operates in<span id="xdx_90A_eus-gaap--NumberOfOperatingSegments_dc_uSegments_c20240101__20240331_zqABCz4rEb73" title="Number of operating segments"> two</span> segments:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(a)
</b>Energy and water conservation products (as shown under the column heading &#8220;EWCP&#8221; below), which consists of a (i) liquid
swimming pool blankets which save energy and water by inhibiting evaporation from the pool surface, and (ii) food-safe powdered form
of the active ingredient within the liquid blankets and which are designed to be used in still or slow moving drinking water sources.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>(b)
</b>Biodegradable polymers, also known as TPA&#8217;s (as shown under the column heading &#8220;BCPA&#8221; below), used by the petroleum,
chemical, utility and mining industries to prevent corrosion and scaling in water piping. This product can also be used in detergents
to increase biodegradability and in agriculture to increase crop yields by enhancing fertilizer uptake.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
third product line is nitrogen conservation products used for the agriculture industry. These products decrease the loss of nitrogen
fertilizer after initial application and allows less fertilizer to be used. These products are made and sold by the Company&#8217;s TPA
division.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
accounting policies of the segments are the same as those described in Note 2, <i>Significant Accounting Policies</i>. The Company evaluates
performance based on profit or loss from operations before income taxes, not including nonrecurring gains and losses and foreign exchange
gains and losses</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s reportable segments are strategic business units that offer different, but synergistic products and services. They are
managed separately because each business requires different technology and marketing strategies.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Three
months ended March 31, 2024:</span></p>

<p id="xdx_89E_eus-gaap--ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_zqDnDmYSK3Ek" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B4_zZKq8Czmzfyc" style="display: none">SCHEDULE
OF REPORTABLE SEGMENTS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="vertical-align: bottom; text-align: center">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_496_20240101__20240331__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z98B8I7cNv64" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">EWCP</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49F_20240101__20240331__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zMWbgi0evMHf" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">BCPA</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49D_20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_ztpGkhAvIVkc" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Consolidated</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_znhp3eGwkWO5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">41,608</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">9,183,264</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">9,224,872</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_z4snAbsuGE94" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1307">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">175,266</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">175,266</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zKloyDITOMQ2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,883</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">418,786</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">422,669</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_z2eGn9i9RMmk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">34,940</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">229,238</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">264,178</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zMxjEzR6asXd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18,540</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">438,685</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">457,225</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_zdfuOxHxFZ5g" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,664,387</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">53,897,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">57,561,387</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zu9HQin2j463" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Expenditures for segment assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1327">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(477,350</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(477,350</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Three
months ended March 31, 2023:</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="vertical-align: bottom; text-align: center">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49C_20230101__20230331__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zYnwCZgvnYlb" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">EWCP</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_499_20230101__20230331__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z9eIIn0afSbi" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">BCPA</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_495_20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zUvTro3MJX4i" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Consolidated</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_z5xx5eA7GVO5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">80,660</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">9,776,857</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">9,847,517</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_zgUvcwbxjfRc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1335">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">134,870</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">134,870</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zNQsvUOAdIm5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,279</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">360,905</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">365,184</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zhu2ITk4jwVa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">915</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">298,862</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">299,777</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zYwaWXfxuZal" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(151,728</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,116,222</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">964,494</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_zoTVvLhDxHD5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,858,968</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">50,079,080</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,938,048</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zoz7agY32ez1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Expenditures for segment assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1355">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(213,060</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(213,060</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  </table>

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




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

<p id="xdx_893_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zFjugEOZisUe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales
by territory are shown below:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_z6ARdtI1cF23" style="display: none">SCHEDULE
OF REVENUE GENERATED IN UNITED STATES AND CANADA</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_498_20240101__20240331_z2AigLgqTpih" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Three months <br/> ended <br/> March 31, 2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49E_20230101__20230331_zcuktveNUvZc" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Three months <br/> ended <br/> March 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__country--CA_zEQpJMYE33C6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">88,478</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">116,680</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__custom--UnitedStatesandAbroadMember_ztrR0lRXydQk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">United States and abroad</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">9,136,394</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">9,730,837</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zTVxxJcQD2Tj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">9,224,872</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">9,847,517</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p id="xdx_89C_eus-gaap--ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_zE8ZjZzAgnLc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s long-lived assets (property, equipment, leaseholds, right of use assets, intangibles, and goodwill) are located in Canada
and the United States as follows:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_zB515EvfaxAj" style="display: none">SCHEDULE
OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20240331_zwK6vI9iSN1l" style="border-bottom: Black 1.5pt solid; text-align: center">March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20231231_zFZKt8duuDHb" style="border-bottom: Black 1.5pt solid; text-align: center">December&#160;31,&#160;2023</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--CA_zgNqraBZN14k" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">135,299</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">142,577</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--US_zNrND2Talfib" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">United States</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">17,906,216</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">17,958,778</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--NoncurrentAssets_iI_zVPUcIRZm1O6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">18,041,515</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">18,101,355</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Three
primary customers accounted for $<span id="xdx_909_eus-gaap--AccountsReceivableNet_iI_c20240331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zz5qJqdb37nc" title="Accounts receivable, after allowance for credit loss">5,106,905</span> (<span id="xdx_909_ecustom--StockOptionExercisePercent_pid_dp_uPure_c20240101__20240331__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zh8Ae7anQTI7" title="Stock option exercise percent">55</span>%) of sales during the three-month period ended March 31, 2024 (2023 - $<span id="xdx_903_eus-gaap--AccountsReceivableNet_iI_c20230331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zR2f08E9O2O7" title="Accounts receivable, after allowance for credit loss">4,366,106</span> or <span id="xdx_902_ecustom--StockOptionExercisePercent_pid_dp_uPure_c20230101__20230331__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zROhYjVikKIl" title="Stock option exercise percent">44</span>%).</span></p>

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

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 34<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-34<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26C<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-15<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/280/tableOfContent<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-21<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-21<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757254759168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMPARATIVE FIGURES<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureComparativeFiguresAbstract', window );"><strong>Comparative Figures</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_FSI_ComparativeFiguresTextBlock', window );">COMPARATIVE FIGURES</a></td>
<td class="text"><p id="xdx_800_ecustom--ComparativeFiguresTextBlock_zAAloxzNt3I9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>16.
<span id="xdx_820_zysznsIKpzM6">COMPARATIVE FIGURES</span></b></span><b><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">.</span></b></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
of the comparative figures have been reclassified to conform with the current period&#8217;s presentation.</span></p>

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

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_ComparativeFiguresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Comparative Figures [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;">FSI_ComparativeFiguresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_DisclosureComparativeFiguresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">FSI_DisclosureComparativeFiguresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757158268416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUBSEQUENT EVENTS<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsAbstract', window );"><strong>Subsequent Events [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">SUBSEQUENT EVENTS</a></td>
<td class="text"><p id="xdx_800_eus-gaap--SubsequentEventsTextBlock_zYRNoYcHlWDb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font: small-caps 10pt Times New Roman, Times, Serif"><b>17.
<span id="xdx_820_z55srZrZUr51">SUBSEQUENT EVENTS</span> </b></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
April 2024, the Company announced a special dividend of $<span id="xdx_90C_eus-gaap--DividendsPayableAmountPerShare_iI_pid_c20240430__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_zlv0OEexLJac" title="Dividends per share">0.10</span>
per share that to be paid on May 16, 2024 to shareholders of record on April 30, 2024.</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/855/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483399/855-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757161342352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES (Policies)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and Cash Equivalents</a></td>
<td class="text"><p id="xdx_84D_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zHTXk8aYkmx9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(a)
<i><span id="xdx_86A_z6dF8Qxs1swb">Cash and Cash Equivalents</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company considers all highly liquid investments purchased with an original or remaining maturity of less than three months at the date
of purchase to be cash equivalents. Cash and cash equivalents are maintained with several financial institutions. As of March 31, 2024 and December 31, 2023, the Company did not have any cash equivalents.</span></p>

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

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_TermDepositsPolicyTextBlock', window );">Term Deposits</a></td>
<td class="text"><p id="xdx_843_ecustom--TermDepositsPolicyTextBlock_z9J7cUtzKejl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(b)
<i><span id="xdx_86B_zw0LhRICKygl">Term Deposits</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has five term deposits that are maintained by commercials banks. The first term deposit is for $<span id="xdx_907_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zjW7tTYZblB7">688,126</span> and matures in April
2024. This deposit pays <span id="xdx_900_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zJyZV2tESkWg">4.908</span>% interest and if withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_907_ecustom--MinimumInterestPenalty_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zFge2LU4rM4d" title="Minimum interest penalty">150</span>, plus 1%
of the principal shall be levied. The second term deposit is for $<span id="xdx_908_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zvCGdQWuYBre">303,954</span> and matures in February 2025. This deposit pays <span id="xdx_908_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zdNW7mCGpH67">1.3</span>% interest
and if withdrawn before maturity, a penalty may be applied. The third term deposit is for $<span id="xdx_908_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zrUdSDwEu6Ei">720,982</span>, matures in May 2024 and pays interest
at a rate of <span id="xdx_90C_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zTeclXtsMsJa">3.00</span>%. If withdrawn before maturity, the greater of the loss of accrued interest or $<span id="xdx_903_ecustom--MinimumInterestPenalty_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zWyhnYx8Ex0f" title="Minimum interest penalty">150</span>, plus 1% of the principal shall
be levied. The fourth term deposit is for $<span id="xdx_902_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_z8aZ2heimwih">1,000,000</span> and matures in May 2024. This deposit pays <span id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zsEWLK0EApxh">3.85</span>% and if withdrawn before maturity,
the greater of the loss of accrued interest or $<span id="xdx_909_ecustom--MinimumInterestPenalty_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zREo996lFmVi" title="Minimum interest penalty">150</span>, plus 1% of the principal shall be levied. The fifth term deposit is for $<span id="xdx_900_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FifthTermMember_zNAnmy2g2QK9">310,695</span>,
matures in August 2024 and pays interest at a rate of <span id="xdx_90A_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FifthTermMember_zzWsQz3A3vE2" title="Interest rate">3.85</span>%. If withdrawn before maturity, a penalty may be applied.</span></p>

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

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventories and Cost of Sales</a></td>
<td class="text"><p id="xdx_84B_eus-gaap--InventoryPolicyTextBlock_zcWe5KH5546a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(c)
<i><span id="xdx_86F_zFdvQHqpGkui">Inventories and Cost of Sales</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has three major classes of inventory: completed goods, work in progress and raw materials and supplies. In all classes inventories
are stated at the lower of cost or net realizable value. Cost is determined on a first-in, first-out basis or weighted average cost
formula to inventories in different subsidiaries. Cost of sales includes all expenditures incurred in bringing the goods to the point
of sale. Inventory costs and costs of sales include direct costs of the raw material, inbound freight charges, warehousing costs, handling
costs (receiving and purchasing) and utilities and overhead expenses related to the Company&#8217;s manufacturing and processing facilities.
Shipping and handling charges billed to customers are included in revenue (2024 - $<span id="xdx_906_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zG9KQZBHRvOf" title="Sales">128,289</span>; 2023 - $<span id="xdx_901_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_z81pX6BvSDl3" title="Sales">143,173</span>). Shipping and handling costs
incurred are included in cost of goods sold (2024 - $<span id="xdx_906_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zLLNHaoruwuk" title="Cost of sales">216,503</span>; 2023 - $<span id="xdx_908_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_z3CaYo37rZK7" title="Cost of sales">255,489</span>).</span></p>

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




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

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy', window );">Allowance for expected credit losses</a></td>
<td class="text"><p id="xdx_840_eus-gaap--PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_z2Vq8K0PG0s4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(d)
<i><span id="xdx_867_zLQLDSH53vxj">Allowance for expected credit losses</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company&#8217;s expected credit losses are determined through a review
using historical credit loss experience; changes in asset specific characteristics, current conditions, and reasonable and supportable
future forecasts, among other specific account data, and is performed at least quarterly. The company develops and documents its methodology
to determine its allowance for expected credit losses. Risk characteristics used by the Company may include customer mix, knowledge of
customers and general economic conditions of the various local economics, among others. Specific account balances are written off when
management determines the amounts to be uncollectible. Management has reviewed the balance reserved through the allowance for expected
losses and believes it is reasonable.</span></p>

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

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, Equipment, Leaseholds and Intangible Assets</a></td>
<td class="text"><p id="xdx_842_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zZ07thJRLxEf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(e)
<i><span id="xdx_868_zPTF9WWoaN93">Property, Equipment, Leaseholds and Intangible Assets</span>.</i></span></p>

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

<p id="xdx_896_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zP0elhHtTvL2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B4_zr2vNuEB9na1" style="display: none">SCHEDULE OF METHOD OF DEPRECIATION</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse; margin-left: 0.75in">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Manufacturing
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zrNSkPUGyK94" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zy6XWTFJvQWl" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Building
    and improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_901_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zCwcYMGFOJN3" title="Depreciation method used and annual rate">10%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Automobiles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zLT8twLNlpB5" title="Depreciation method used and annual rate">Straight-line
    over 5 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Technology</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_z5KYl0x993Xj" title="Depreciation method used and annual rate">Straight-line
    over 10 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Leasehold
    improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zIdkrd8NP6Bc" title="Depreciation method used and annual rate">Straight-line
    over lease term</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customer
    relationships </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_z8lIP2E3Iqz6" title="Depreciation method used and annual rate">Straight-line
    over 15 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>
<p id="xdx_8A5_zwBKFwCwlxmj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Impairment of Long-Lived Assets</a></td>
<td class="text"><p id="xdx_848_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zQYGruLzMeQ6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(f)
<i><span id="xdx_864_ziZkad3F28yi">Impairment of Long-Lived Assets</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 360, <i>Property, Plant and Equipment</i> (ASC 360), the Company reviews long-lived assets, including,
but not limited to, property, equipment and leaseholds, patents and other assets, for impairment annually or whenever events or changes
in circumstances indicate the carrying amounts of assets may not be recoverable. The carrying value of long-lived assets is assessed
for impairment by evaluating operating performance and future undiscounted cash flows of the underlying assets. If the expected future
cash flows of an asset is less than its carrying value, an impairment measurement is indicated. Impairment charges are recorded to the
extent that an asset&#8217;s carrying value exceeds its fair value. Accordingly, actual results could vary significantly from such estimates.
There were no impairment charges during the periods presented.</span></p>

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

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign Currency</a></td>
<td class="text"><p id="xdx_843_eus-gaap--ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_zuNUpO6r6H5l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(g)
<i><span id="xdx_86E_zhVbRTvVPH1g">Foreign Currency</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
functional currency of the Company is the U.S. dollar. The functional currency of three of the Company&#8217;s subsidiaries is the Canadian
dollar. The translation of the Canadian dollar to the reporting currency of the Company, the U.S. dollar, is performed for assets and
liabilities using exchange rates in effect at the balance sheet date. Revenue and expense transactions are translated using average exchange
rates prevailing during the year. Translation adjustments arising on conversion of the Company&#8217;s financial statements from the
subsidiary&#8217;s functional currency, Canadian dollars, into the reporting currency, U.S. dollars, are excluded from the determination
of income (loss) and are disclosed as other comprehensive income in the consolidated statements of income and comprehensive income.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Foreign
exchange gains and losses relating to transactions not denominated in the applicable local currency are included in operating income
(loss) if realized during the year and in comprehensive income (loss) if they remain unrealized at the end of the year.</span></p>

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

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p id="xdx_840_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zzH6m8ktZcy2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(h)
<i><span id="xdx_86D_zpC7ZURbKYi8">Revenue Recognition</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note
15.</span></p>

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




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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company follows a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with the customer,
(2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4) allocation of
the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation is satisfied.
The Company has fulfilled its performance obligations when control transfers to the customer, which is generally at the time the product
is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free-on-board shipping
point, the Company has elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Since
the Company&#8217;s inception, product returns have been insignificant; therefore, no provision has been established for estimated product
returns.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred
revenues consist of products sold to distributors with payment terms greater than the Company&#8217;s customary business terms due to
lack of credit history or operating in a new market in which the Company has no prior experience. The Company defers the recognition
of revenue until the criteria for revenue recognition has been met and payments become due or cash is received from these distributors.</span></p>

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

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_StockIssuedInExchangeForServicesPolicyTextBlock', window );">Stock Issued in Exchange for Services</a></td>
<td class="text"><p id="xdx_84E_ecustom--StockIssuedInExchangeForServicesPolicyTextBlock_zkOwr6D3SyP9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(i)
<i><span id="xdx_86A_z8bcJq9ovuhi">Stock Issued in Exchange for Services</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s common stock issued in exchange for services is valued at estimated fair market value based upon trading prices of the
Company&#8217;s common stock on the dates of the stock transactions. The corresponding expense of the services rendered is recognized
over the period that the services are performed.</span></p>

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

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationRelatedCostsPolicyTextBlock', window );">Stock-based Compensation</a></td>
<td class="text"><p id="xdx_847_eus-gaap--CompensationRelatedCostsPolicyTextBlock_zyRTn9ZOSlbd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(j)
<i><span id="xdx_86F_zf9PYjuEMVua">Stock-based Compensation</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company recognizes compensation expense for all share-based payments in accordance with FASB Codification Topic 718, <i>Compensation
&#8212; Stock Compensation</i> (ASC 718). Under the fair value recognition provisions of ASC 718, the Company recognizes share-based
compensation expense, net of an estimated forfeiture rate, over the requisite service period of the award.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value at grant date of stock options is estimated using the Black-Scholes option-pricing model. Compensation expense is recognized
on a straight-line basis over the stock option vesting period based on the estimated number of stock options that are expected to vest.
Shares are issued from treasury upon exercise of stock options.</span></p>

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

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock', window );">Other Comprehensive Income</a></td>
<td class="text"><p id="xdx_849_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_z4oyBN3P66v2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(k)
<i><span id="xdx_868_zWtfzOG52hXk">Other Comprehensive Income</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Other
comprehensive income refers to revenues, expenses, gains and losses that under generally accepted accounting principles are included
in comprehensive income, but are excluded from net income as these amounts are recorded directly as an adjustment to stockholders&#8217;
equity. The Company&#8217;s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the
translation of subsidiaries&#8217; functional currency into the reporting currency.</span></p>

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

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Income Per Share</a></td>
<td class="text"><p id="xdx_843_eus-gaap--EarningsPerSharePolicyTextBlock_zVGbBHhaFMcf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(l)
<i><span id="xdx_866_zuW2leEvzjda">Income Per Share</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Basic
earnings per share is computed by dividing income available to common stockholders by the weighted average number of common shares outstanding
in the period. Diluted earnings per share are calculated giving effect to the potential dilution of the exercise of options and warrants.
Common equivalent shares, composed of incremental common shares issuable upon the exercise of stock options and warrants are included
in diluted net income per share to the extent that these shares are dilutive. Common equivalent shares that have an anti-dilutive effect
on net income per share have been excluded from the calculation of diluted weighted average shares outstanding for the three months ended
March 31, 2024 and 2023.</span></p>

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




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

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates</a></td>
<td class="text"><p id="xdx_848_eus-gaap--UseOfEstimates_zwun4of7g4H1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(m)
<i><span id="xdx_863_z2kbFklKh1I9">Use of Estimates</span></i>.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States requires
management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the consolidated
financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from
those estimates and would impact the results of operations and cash flows.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 35.45pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimates
and underlying assumptions are reviewed at each period end. Revisions to accounting estimates are recognized in the period in which the
estimates are revised and in any future periods affected.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Significant
areas requiring the use of management estimates include assumptions and estimates relating to the valuation of goodwill and intangible
assets, valuation of assets acquired at fair value, asset impairment analysis, share-based payments, valuation allowances for deferred
income tax assets, determination of useful lives of property, equipment and leaseholds and intangible assets, recoverability of accounts
receivable, recoverability of investments, discount rates for right of use assets and the costing and recoverable value of inventory.</span></p>

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

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueOfFinancialInstrumentsPolicy', window );">Fair Value of Financial Instruments</a></td>
<td class="text"><p id="xdx_84B_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zoev4b7Wg4eh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(n)
<i><span id="xdx_869_zjwkw1v9GFui">Fair Value of Financial Instruments</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Fair
value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal
or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.
Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.
The standard describes a fair value hierarchy based on three levels of inputs described below, of which the first two are considered
observable and the last unobservable, that may be used to measure fair value.</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    1 &#8211; Quoted prices in active markets for identical assets or liabilities.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    2 &#8211; Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets
    or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable
    market data for substantially the full term of the assets or liabilities.</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9679;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Level
    3 &#8212; Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets
    or liabilities.</span></td></tr>
  </table>
<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair values of cash, term deposits, accounts receivable, accounts payable, accrued liabilities and the short term line of credit for
all periods presented approximate their respective carrying amounts due to the short term nature of these financial instruments.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of the long term debt and lease liabilities for all periods presented approximate their respective carrying amounts due to
these financial instruments being at market rates.</span></p>

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

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesPolicyTextBlock', window );">Contingencies</a></td>
<td class="text"><p id="xdx_84B_eus-gaap--CommitmentsAndContingenciesPolicyTextBlock_zg2ZTRJRVm1c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(o)
<i><span id="xdx_863_zlwP3hsVBn16">Contingencies</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Certain
conditions may exist as of the date the consolidated financial statements are issued which may result in a loss to the Company but which
will only be resolved when one or more future events occur or fail to occur. The Company&#8217;s management and its legal counsel assess
such contingent liabilities, and such assessment inherently involves an exercise of judgment. In assessing loss contingencies related
to legal proceedings that are pending against the Company or unasserted claims that may result in such proceedings, the Company&#8217;s
legal counsel evaluates the perceived merits of any legal proceedings or unasserted claims as well as the perceived merits of the amount
of relief sought or expected to be sought therein.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">If
the assessment of a contingency indicates that it is probable that a material loss has been incurred and the amount of the liability
can be estimated, the estimated liability would be accrued in the Company&#8217;s consolidated financial statements. If the assessment
indicates that a potential material loss contingency is not probable, but is reasonably possible, or is probable but cannot be estimated,
then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, would
be disclosed.</span></p>

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




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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Loss
contingencies considered remote are generally not disclosed unless they involve guarantees, in which case the guarantees would be disclosed.
Legal fees associated with loss contingencies are expensed as incurred. The Company is not aware of any contingencies at the date of
these consolidated financial statements.</span></p>

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

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p id="xdx_84E_eus-gaap--IncomeTaxPolicyTextBlock_zyUBcqtmPd85" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(p)
<i><span id="xdx_862_zhJmdPOPoRG5">Income Taxes</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Income
taxes are computed by multiplying the Company&#8217;s taxable net income by the Company&#8217;s effective tax rates. Deferred income
tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial
statement carrying amounts of existing assets and liabilities and their respective tax bases, and operating loss carry-forwards, if any.
Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which
those temporary differences are expected to be recovered or settled. The effect on deferred income tax assets and liabilities of a change
in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is provided to reduce the
carrying amount of deferred income tax assets if it is considered more likely than not that some portion, or all, of the deferred income
tax assets will not be realized.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 740, <i>Income taxes</i> (ASC 740) under the liability method, it is the Company&#8217;s policy
to provide for uncertain tax positions and the related interest and penalties based upon management&#8217;s assessment of whether a tax
benefit is more likely than not to be sustained upon examination by tax authorities. At March 31, 2024, the Company believes it has appropriately
accounted for any unrecognized tax benefits. To the extent the Company prevails in matters for which a liability for an unrecognized
benefit is established or is required to pay amounts in excess of the liability, the Company&#8217;s effective tax rate in a given financial
statement period may be affected. Interest and penalties associated with the Company&#8217;s tax positions are recorded as interest expense
in the consolidated statements of income and comprehensive income.</span></p>

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

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Risk Management</a></td>
<td class="text"><p id="xdx_84E_eus-gaap--ConcentrationRiskCreditRisk_zXevU6ME2ii7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(q)
<i><span id="xdx_86F_zyUg1q2tepSb">Risk Management</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s credit risk is primarily attributable to its accounts receivable. The amounts presented in the accompanying
consolidated balance sheets are net of allowances for doubtful accounts, estimated by the Company&#8217;s management based on prior
experience and the current economic environment. The Company is exposed to credit-related losses in the event of non-payment by
customers. Credit exposure is minimized by dealing with only credit worthy counterparties. Revenue for the Company&#8217;s three
primary customers totaled $<span id="xdx_901_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zXtfA4Ilxdhj" title="Sales">5,106,905</span>
(<span id="xdx_90E_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20240101__20240331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z6o9MVeAEaAf" title="Accounts receivable, after allowance for credit loss">55</span>%)
for the three months ended March 31, 2024 (2023 - $<span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zOIpbbAj1jki" title="Sales">4,366,106</span>
or <span id="xdx_909_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20230331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zwLJYgdweEL3" title="Accounts receivable, after allowance for credit loss">44</span>%).
Accounts receivable for the Company&#8217;s three primary customers totaled $<span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zTIOvE4qRz1i" title="Sale">7,843,766</span>
(<span id="xdx_90C_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20240101__20240331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z9QJ48EzRGSf" title="Accounts receivable, after allowance for credit loss, percentage">60</span>%)
at March 31, 2024 (December 31, 2023 - $<span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zBsoQR0MHaV2" title="Sale">6,561,164</span>
or<span id="xdx_90E_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zC6maiH32m3" title="Accounts receivable, after allowance for credit loss, percentage">
67</span>%). See Note 4 for allowance for doubtful accounts, all unrelated to our primary customers.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
credit risk on cash is limited because the Company limits its exposure to credit loss by placing its cash with major financial institutions.
The Company maintains cash balances at financial institutions which at times exceed federally insured amounts. The Company has not experienced
any losses in such accounts.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to foreign risk to the extent that market value rate fluctuations materially differ for financial assets and liabilities
denominated in foreign currencies.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to foreign exchange risks, the Company closely monitors the fluctuations in the foreign currency exchange
rates and the impact on the value of cash, accounts receivable, and accounts payable and accrued liabilities. The Company has not hedged
its exposure to currency fluctuations.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company is exposed to interest rate risk to the extent that the fair value or future cash flows for financial liabilities will fluctuate
as a result of changes in market interest rates. The Company is exposed to interest rate risk on its long-term debt subject to fixed
long-term interest rates.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
order to manage its exposure to interest rate risk, the Company closely monitors fluctuations in market interest risks and will
refinance its long-term debt where possible to obtain more favourable rates.</span></p>

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




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

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentsPolicy', window );">Equity Method Investment</a></td>
<td class="text"><p id="xdx_84A_eus-gaap--EquityMethodInvestmentsPolicy_zD9r1eWisJqe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(r)
<i><span id="xdx_865_zEfI0AcDC6Uf">Equity Method Investment</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company accounts for investments using the equity method of accounting if the investment provides the Company the ability to exercise
significant influence, but not control, over the investee. <span id="xdx_903_eus-gaap--EquityMethodInvestmentDescriptionOfPrincipalActivities_c20240101__20240331__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--InvestmentMember_zSjysWCo8ZS7" title="Equity method investment, description">Significant influence is generally deemed to exist if the Company&#8217;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#8217;s board of directors, are considered in determining whether the equity method of accounting is appropriate.</span> Under
the equity method of accounting, the investment is initially recorded at cost in the consolidated balance sheets under other assets and
adjusted for dividends received and the Company&#8217;s share of the investee&#8217;s earnings or losses together with other-than-temporary
impairments which are recorded through other income (loss), net in the consolidated statements of operations and comprehensive income
(loss).</span></p>

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

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock', window );">Goodwill and Intangible Assets</a></td>
<td class="text"><p id="xdx_844_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zrp5Sd4hKgYe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(s)
<i><span id="xdx_86B_zhyyqDBoaIMf">Goodwill and Intangible Assets</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
represents the excess of the purchase price of an acquired entity over the amounts assigned to the assets acquired and liabilities assumed.
Goodwill is not amortized, but is reviewed for impairment annually or more frequently if certain impairment conditions arise. The Company
performs an annual goodwill impairment review in the fourth quarter of each year at the reporting unit level. The evaluation begins with
a qualitative assessment of the factors that could impact the significant inputs used to estimate fair value. If after performing the
qualitative assessment, it is determined that it is more likely than not that the fair value of a reporting unit is greater than its
carrying amount, including goodwill, then no further analysis is necessary. However, if the results of the qualitative test are unclear,
the Company performs a quantitative test, which involves comparing the fair value of a reporting unit with its carrying amount, including
goodwill. The Company uses an income-based valuation method, determining the present value of future cash flows, to estimate the fair
value of a reporting unit. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered
not impaired, and no further analysis is necessary. If the fair value of the reporting unit is less than its carrying amount, goodwill
impairment would be recognized equal to the amount of the carrying value in excess of the reporting unit&#8217;s fair value, limited
to the total amount of goodwill allocated to the reporting unit.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible
assets primarily include trademarks and trade secrets with indefinite lives and customer-relationships with finite lives. Intangible
assets with indefinite lives are not amortized but are tested for impairment on an annual basis, or more frequently if indicators of
impairment are present. Indefinite lived intangible assets are assessed using either a qualitative or a quantitative approach. The qualitative
assessment evaluates factors including macro-economic conditions, industry and company-specific factors, legal and regulatory environments,
and historical company performance in assessing fair value. If it is determined that it is more likely than not that the fair value of
the intangible asset is less than its carrying value, a quantitative test is then performed. Otherwise, no further testing is required.
When using a quantitative approach, the Company compares the fair value of the intangible asset to its carrying amount. If the estimated
fair value of the intangible asset is less than the carrying amount of the intangible asset, impairment is indicated, requiring recognition
of an impairment charge for the differential.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
accordance with FASB Codification Topic 350, <i>Intangibles &#8211; Goodwill and Other, </i>(ASC 350), qualitative assessments of goodwill
and indefinite-lived intangible assets were performed at December 31, 2023. Based on the results of the assessment, it was determined
that it is more likely than not the reporting unit, customer lists and trademarks had a fair value in excess of their carrying amounts.
Accordingly, no further impairment testing was completed and no impairment charges related to goodwill or indefinite-lived intangibles
were recognized during the three months ended March 31, 2024.</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Finite-lived
intangible assets are amortized on a straight-line basis over their estimated useful lives. The Company reviews for impairment indicators
of finite-lived intangibles and other long-lived assets as described in the &#8220;Impairment of Long Lived Assets&#8221; significant
accounting policy.</span></p>

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

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent Accounting Pronouncements</a></td>
<td class="text"><p id="xdx_840_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zTaqRYX9b7W2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">(t)
<i><span id="xdx_864_z6PfYdnSZJZg">Recent Accounting Pronouncements</span>.</i></span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has implemented all applicable new accounting pronouncements that are in effect. Those pronouncements did not have any material
impact on the consolidated financial statements unless otherwise disclosed, and the Company does not believe that there are any other
new accounting pronouncements that have been issued that might have a material impact on its financial position or results of operations.</span></p>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_StockIssuedInExchangeForServicesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock Issued In Exchange For Services [Policy Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_StockIssuedInExchangeForServicesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_TermDepositsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Term Deposits [Policy Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">FSI_TermDepositsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 commitments and contingencies, which may include policies for recognizing and measuring loss and gain contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 450<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477850/954-450-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesPolicyTextBlock</td>
</tr>
<tr>
<td style="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_CompensationRelatedCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 salaries, bonuses, incentive awards, postretirement and postemployment benefits granted to employees, including equity-based arrangements; discloses methodologies for measurement, and the bases for recognizing related assets and liabilities and recognizing and reporting compensation 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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationRelatedCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="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_ComprehensiveIncomePolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 comprehensive 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;">us-gaap_ComprehensiveIncomePolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478898/942-825-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity method of accounting for investments and other interests. Investment includes, but is not limited to, unconsolidated subsidiary, corporate joint venture, noncontrolling interest in real estate venture, limited partnership, and limited liability company. Information includes, but is not limited to, ownership percentage, reason equity method is or is not considered appropriate, and accounting policy election for distribution received.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21D<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-21D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the fair value of financial instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 825<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/830/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</td>
</tr>
<tr>
<td style="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_GoodwillAndIntangibleAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480091/360-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482338/360-10-05-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-20<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478411/912-330-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/tableOfContent<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482989/270-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 estimated allowance for doubtful accounts for premium amounts due from policyholders, insureds, and other insurance entities. May include factors that management considered, such as historical loss experience and current economic and competitive conditions.</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_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-18<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-20<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org/606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757260052400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_ScheduleOfMethodOfDepreciationTableTextBlock', window );">SCHEDULE OF METHOD OF DEPRECIATION</a></td>
<td class="text"><p id="xdx_896_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zP0elhHtTvL2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B4_zr2vNuEB9na1" style="display: none">SCHEDULE OF METHOD OF DEPRECIATION</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse; margin-left: 0.75in">
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Manufacturing
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zrNSkPUGyK94" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Office
    equipment</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zy6XWTFJvQWl" title="Depreciation method used and annual rate">20%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Building
    and improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_901_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zCwcYMGFOJN3" title="Depreciation method used and annual rate">10%
    Declining balance</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Automobiles</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zLT8twLNlpB5" title="Depreciation method used and annual rate">Straight-line
    over 5 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Technology</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_z5KYl0x993Xj" title="Depreciation method used and annual rate">Straight-line
    over 10 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Leasehold
    improvements</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zIdkrd8NP6Bc" title="Depreciation method used and annual rate">Straight-line
    over lease term</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customer
    relationships </span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_z8lIP2E3Iqz6" title="Depreciation method used and annual rate">Straight-line
    over 15 years</span></span></td></tr>
  <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top">
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td>
    <td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span></td></tr>
  </table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_ScheduleOfMethodOfDepreciationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Method Of Depreciation [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;">FSI_ScheduleOfMethodOfDepreciationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757254307072">
<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, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureLeasesAbstract', window );"><strong>Leases</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_FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock', window );">SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY</a></td>
<td class="text"><p id="xdx_894_ecustom--SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_zsSpCTbKYj82" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">In
March 2024, the Company consolidated NanoChem operations into the Peril, IL locations and terminated the lease in Naperville, IL.
The Company had to pay a penalty of $<span id="xdx_90F_eus-gaap--OperatingLeaseLeaseIncomeLeasePayments_c20240101__20240331_zgz1VpLPilSg" title="Payment of penalty">35,910</span>
and forfeited the $<span id="xdx_906_eus-gaap--SecurityDeposit_iI_c20240331_zcckKAtE4Ov4" title="Security deposit">5,440</span> security deposit to terminate the lease early and incurred a loss of $<span id="xdx_908_eus-gaap--GainLossOnTerminationOfLease_iN_di_c20240101__20240331_ztPGBT1Zs9Qf" title="Loss on terminating lease">41,350</span>
on early termination of the lease. The table below summarizes the right-of-use asset and lease liability for the periods ended March
31, 2024 and December 31, 2023.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B0_zmkB5qLPhHA6" style="display: none">SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline; font-weight: bold; text-align: left">Right of Use Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 80%">Balance at December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20230101__20231231_zYC4ZP0Bdm35" style="width: 16%; text-align: right" title="Right of use assets, beginning balance">167,222</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Depreciation</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20230101__20231231_zhgb6w3Pkk7h" style="border-bottom: Black 1.5pt solid; text-align: right" title="Depreciation">(51,929</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance at December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98E_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20240101__20240331_zgdtTqmrmsX" style="text-align: right" title="Right of use assets, beginning balance">115,293</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20240101__20240331_zZF8EBsIhQC9" style="text-align: right" title="Depreciation">(13,694</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Early termination of lease</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_982_ecustom--OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_iN_pp0p0_di_c20240101__20240331_zFwDEgAfn5nc" style="border-bottom: Black 1.5pt solid; text-align: right" title="Right of use assets, early termination of lease">(101,599</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance at March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98B_eus-gaap--OperatingLeaseRightOfUseAsset_iE_pp0p0_c20240101__20240331_zwWLzyppwcHl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Right of use assets, ending balance"><span style="-sec-ix-hidden: xdx2ixbrl0676">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-decoration: underline; font-weight: bold; text-align: left">Lease Liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance at December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20230101__20231231_zcSBRJuI75Kk" style="text-align: right" title="Lease liability, beginning balance">167,222</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--LeaseInterestExpense_pp0p0_c20230101__20231231_zj67bxoJPii" style="text-align: right" title="Lease interest expense">6,151</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Payments</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20230101__20231231_zAde8F1VAwd4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Payments">(58,080</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance at December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98A_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20240101__20240331_zyxcnXpTPGsg" style="text-align: right" title="Lease liability, beginning balance">115,293</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Lease interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_988_ecustom--LeaseInterestExpense_pp0p0_c20240101__20240331_zKAtcOFsKGy7" style="text-align: right" title="Lease interest expense">1,186</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Payments</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_986_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20240101__20240331_ziaIVBZrflfd" style="text-align: right" title="Payments">(14,880</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Early termination of lease</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_ecustom--OperatingLeaseLiabilityEarlyTerminationOfLease_iN_pp0p0_di_c20240101__20240331_zGtrZxzbp0zj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Lease liability, early termination of lease">(101,599</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance at March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98B_eus-gaap--OperatingLeaseLiability_iE_pp0p0_c20240101__20240331_zw7hddC1nyt8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Lease liability, ending balance"><span style="-sec-ix-hidden: xdx2ixbrl0692">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">FSI_DisclosureLeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Summary Of Right of use Asset And Lease Liability [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;">FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757158698816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCOUNTS RECEIVABLE (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Receivables [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_AccountsReceivableAllowanceForCreditLossTableTextBlock', window );">SCHEDULE OF ACCOUNTS RECEIVABLE</a></td>
<td class="text"><p id="xdx_893_eus-gaap--AccountsReceivableAllowanceForCreditLossTableTextBlock_z6rjEeGuPf59" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B6_zrx4DFK8wUQ" style="display: none">SCHEDULE OF ACCOUNTS RECEIVABLE</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_498_20240331_zivVqGBIYXml" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zjwM8ZZCa9Va" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">December 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--AccountsReceivableGross_iI_pp0p0_maAANRNzPjC_zAfCaBm4DgJ9" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Accounts receivable</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">13,281,820</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">10,133,249</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_iNI_pp0p0_di_msAANRNzPjC_zthV146lLqYe" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Allowances for doubtful accounts</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(289,277</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(290,193</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40E_eus-gaap--AccountsAndNotesReceivableNet_iTI_pp0p0_mtAANRNzPjC_z6hpFZ6ndfNa" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total accounts receivable</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">12,992,543</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">9,843,056</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757330585888">
<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, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">SCHEDULE OF INVENTORY</a></td>
<td class="text"><p id="xdx_897_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_z1q0rWdSYWpe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BA_zI96CjLFQ4Yg" style="display: none">SCHEDULE OF INVENTORY</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_498_20240331_zyKJlqIjo6Oi" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_496_20231231_zWnbpYTVwEzj" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">December 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40B_eus-gaap--InventoryFinishedGoods_iI_pp0p0_maINzkLt_zNaj9XyKFg99" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Completed goods</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">2,139,797</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">2,682,158</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--InventoryRawMaterialsAndSupplies_iI_pp0p0_maINzkLt_zqPVpQEBrVN5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Raw materials and supplies</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">8,319,459</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">8,452,731</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--InventoryNet_iTI_pp0p0_mtINzkLt_zdMsmYiMcF12" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Total inventory</span></td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">10,459,256</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">11,134,889</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757254370176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS</a></td>
<td class="text"><p id="xdx_892_eus-gaap--PropertyPlantAndEquipmentTextBlock_zS0DBXgJKBKd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zukh3aed8U5" style="display: none">SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zN6zlxXDyv1h" style="vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zzUvUvezMeo5" style="vertical-align: bottom; text-align: center">Accumulated</td><td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zrJ5TneS83Ag" style="vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Cost</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Depreciation</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Net</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr id="xdx_414_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zvOjAwC7GUB6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">12,408,992</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">4,049,352</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">8,359,640</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_417_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zAtE6aaK0slg" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">196,255</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">147,232</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">49,023</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41B_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zGENtOPTREE1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">122,161</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">111,825</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,336</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_412_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zgTgaswUitYc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,424,369</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">6,016,720</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,407,649</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zR0U5vcSK1jg" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">440,592</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0736">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">440,592</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41A_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zwkeHdBuMYW9" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0740">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_414_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_z5e7JMtHSNN7" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Technology</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">100,819</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">100,819</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0743">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_981_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20240331_zrU91weJQVhe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost">23,782,060</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98C_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20240331_ziuaWlWzOMx5" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation">10,514,820</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_984_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20240331_z7A028iNL4w3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total">13,267,240</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zlwJpFEV7dk8" style="text-align: center">December 31, 2023</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zysZDJVltTEf" style="text-align: center">Accumulated</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zU2lnB4EUwD7" style="text-align: center">December 31, 2023</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Cost</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Depreciation</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center">Net</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr id="xdx_418_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zwynXpLSzgc8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: left">Buildings and improvements</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">12,341,605</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">3,896,887</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">8,444,718</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_41A_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zxoxOT9zrOle" style="vertical-align: bottom; background-color: White">
    <td>Automobiles</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">196,255</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">140,040</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">56,215</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zfMpk1lXNKWd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Office equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">177,623</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">165,048</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">12,575</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_410_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zbyZ1BasbRy3" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Manufacturing equipment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">10,017,466</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">5,799,779</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,217,687</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zVweAIEnSRel" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">440,592</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0763">&#8212;</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">440,592</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_41D_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zRvFJ9Sv3W49" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Leasehold improvements</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">88,872</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0767">&#8212;</span></td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zba0ORoLJCic" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Technology</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">103,292</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">103,292</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl0770">&#8212;</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20231231_z2wXXerfkvBi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost">23,365,705</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98E_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20231231_zqOMpInbXSoi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation">10,193,918</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20231231_zFX4GcKuDdLj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total">13,171,787</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757254448880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>GOODWILL AND INTANGIBLE ASSETS (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock', window );">SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS</a></td>
<td class="text"><p id="xdx_89F_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zpkjYqyw9UQ3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BB_zYt6c9yNnv98" style="display: none">SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Goodwill</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 82%; padding-bottom: 1.5pt">Balance as of December 31, 2022 and 2023 and March 31, 2024</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right"><span id="xdx_905_eus-gaap--Goodwill_iE_c20221231_ziEl1WGBB1a9" title="Goodwill"><span id="xdx_902_eus-gaap--Goodwill_iE_c20231231_zmblRPN00qLe" title="Goodwill"><span id="xdx_903_eus-gaap--Goodwill_iE_c20240331_zbzbEoH3H9w1" title="Goodwill">2,534,275</span></span></span></td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Indefinite Lived Intangible Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance as of December 31, 2022 and 2023 and March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_90C_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20221231_zXtp0SXD4Np6" title="Indefinite lived intangible assets"><span id="xdx_90E_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20231231_zIqeM0UoSb87" title="Indefinite lived intangible assets"><span id="xdx_909_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20240331_z2PAfnQ1W327" title="Indefinite lived intangible assets">770,000</span></span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Goodwill
relates to the acquisition of ENP Investments. Indefinite lived intangible assets consist of trade secrets and trademarks related to
the acquisition of ENP Investments.</span></p>

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

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Definite Life Intangible Assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 82%">Balance as of December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsNet_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zJ0dFg6xsYr2" style="width: 14%; text-align: right" title="Definite lived intangible assets, beginning balance">1,670,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--AmortizationOfIntangibleAssets_iN_pp0p0_di_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_z1RtnZ4Wyfyi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization">(160,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balances as of December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsNet_iS_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zNFLe4M6eJQj" style="text-align: right" title="Definite lived intangible assets, beginning balance">1,510,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Amortization</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_987_eus-gaap--AmortizationOfIntangibleAssets_iN_pp0p0_di_c20240101__20240331__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zrjgX2H2cTtb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization">(40,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balances as of March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsNet_iE_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_z2ytHZt0v3x3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Definite lived intangible assets, ending balance">1,470,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE</a></td>
<td class="text"><p id="xdx_893_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zgKvsuzrmpZ" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Estimated
amortization expense over the next five years is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B6_ztXwALYoAVpf" style="display: none">SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: justify">2024</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_987_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_iI_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zmOTfQIU9fE9" style="width: 16%; text-align: right" title="2024">160,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">2025</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zUP3hoRNuBPe" style="text-align: right" title="2025">160,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">2026</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_pp0p0_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_z4W7ado0iBJa" style="text-align: right" title="2026">160,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">2027</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pp0p0_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zpHeNGnH3g55" style="text-align: right" title="2027">160,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify; padding-bottom: 1.5pt">2028</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_pp0p0_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zRGwt4LIDcE1" style="border-bottom: Black 1.5pt solid; text-align: right" title="2028">160,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of goodwill and intangible assets, which may be broken down by segment or major class.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757154400640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LONG TERM DEPOSITS (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureLongTermDepositsAbstract', window );"><strong>Long Term Deposits</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_FSI_ScheduleOfLongTermDepositsTableTextBlock', window );">SCHEDULE OF LONG TERM DEPOSITS</a></td>
<td class="text"><p id="xdx_896_ecustom--ScheduleOfLongTermDepositsTableTextBlock_z01JCisFMpD7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company has security deposits that are long term in nature which consist of damage deposits held by landlords and deposits held by various
vendors for equipment purchases.</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BC_zwI67e96r4ee" style="display: none">SCHEDULE OF LONG TERM DEPOSITS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_493_20240331_zqtK2CbPFxp1" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49F_20231231_zVCo1SMrvA7j" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">December 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--DepositsAssetsNoncurrent_iI_pp0p0_zq0nnH5LZKFj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt; width: 60%">Long term deposits</td><td style="padding-bottom: 1.5pt; width: 2%">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left; width: 1%">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right; width: 16%">840,592</td><td style="padding-bottom: 1.5pt; text-align: left; width: 1%">&#160;</td><td style="padding-bottom: 1.5pt; width: 2%">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left; width: 1%">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right; width: 16%">824,254</td><td style="padding-bottom: 1.5pt; text-align: left; width: 1%">&#160;</td></tr>
  </table>

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

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLongTermDepositsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">FSI_DisclosureLongTermDepositsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_ScheduleOfLongTermDepositsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Long Term Deposits [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;">FSI_ScheduleOfLongTermDepositsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757160022224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_dei_LegalEntityAxis=FSI_EnpPeruInvestmentsLlcMember', window );">ENP Peru Investments LLC [Member]</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_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock', window );">SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED</a></td>
<td class="text"><p id="xdx_890_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zvy2uXMfv6I9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BB_zHOnoIqLr5X1" style="display: none">SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_498_20240101__20240331_z1UPgT0yUx1b" style="border-bottom: Black 1.5pt solid; text-align: right">&#160;</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessCombinationConsiderationTransferred1_zXIp0fYZhfIb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left; padding-bottom: 1.5pt">Purchase consideration</td><td style="width: 2%; padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right">506,659</td><td style="width: 1%; padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Assets acquired:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iE_zmqQbUZ76JSl" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Cash</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,330</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_iE_zSdJDuzHtPr6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt">Building</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,750,000</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_iE_z79ZdcuRJq65" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt">Land</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">150,000</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Liabilities assumed:</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">&#160;</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_iNE_di_z2Vh7wfvAmc8" style="vertical-align: bottom; background-color: White">
    <td style="padding-left: 10pt; text-align: left">Deferred tax liability</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(174,582</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_404_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_iE_zO3HAk9SRaf8" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt">Long term debt</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(2,849,500</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iE_zrIawlBVHE5l" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Total identifiable net assets:</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">883,248</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_405_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_iE_zG8O39oQ26Od" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Excess of assets acquired over consideration</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">376,589</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40F_ecustom--InvestmentEliminatedUponConsolidation_zmqcqVzEqusg" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Less investment eliminated upon consolidation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(41,538</td><td style="text-align: left">)</td></tr>
  <tr id="xdx_40D_ecustom--GainOnAcquisitionOfSubsidiary_ztzEqmj16bqc" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Gain on acquisition of ENP Peru</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">335,051</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentsTextBlock', window );">SCHEDULE OF EQUITY METHOD INVESTMENT</a></td>
<td class="text"><p id="xdx_89B_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zBcBhrwl7oZf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">A
summary of the Company&#8217;s investment follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8B3_zI6ks6LIzNka" style="display: none">SCHEDULE OF EQUITY METHOD INVESTMENT</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="text-align: left; width: 1%">&#160;</td><td id="xdx_985_eus-gaap--EquityMethodInvestments_iS_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_z1tWRSEEtvjg" style="text-align: right; width: 16%" title="Beginning, balance">22,642</td><td style="text-align: left; width: 1%">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Return of equity</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_987_ecustom--EquityMethodInvestmentReturnOfEquity_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_z6bZpdAYXRBi" style="text-align: right" title="Balance, Beginning">(8,750</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_985_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_znuTNDUIpPU8" style="text-align: right" title="Balance, Beginning">27,646</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Investment eliminated upon consolidation</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_ecustom--InvestmentEliminatedUponConsolidation_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zKhC5ymXWRr8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Balance, Beginning">(41,538</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt">Balance, December 31, 2023 and March 31, 2024</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right"><span id="xdx_90E_eus-gaap--EquityMethodInvestments_iE_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zYFartQrOd2d" title="Ending, balance"><span id="xdx_90F_eus-gaap--EquityMethodInvestments_iE_c20240101__20240331__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zeibChWP65U7" title="Ending, balance"><span style="-sec-ix-hidden: xdx2ixbrl0877"><span style="-sec-ix-hidden: xdx2ixbrl0879">-</span></span></span></span></td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember', window );">Florida Based LLC [Member]</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_EquityMethodInvestmentsTextBlock', window );">SCHEDULE OF EQUITY METHOD INVESTMENT</a></td>
<td class="text"><p id="xdx_89F_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zjJDzXoVxSzb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BE_zWnWOFTcVoVh" style="display: none">SCHEDULE OF EQUITY METHOD INVESTMENT</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%">Balance, December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zgrEJA0sfFEc" style="width: 16%; text-align: right" title="Balance, Beginning">3,758,895</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zzDMnG07uNul" style="text-align: right" title="Gain in equity method investment">505,065</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Return of equity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zg6CrKcPBmj8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Return of equity">(200,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zNMuAMurqGR4" style="text-align: right" title="Balance, Beginning">4,063,960</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Gain in equity method investment</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zsYyQ5aeEJU4" style="text-align: right" title="Gain in equity method investment">182,201</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Return of equity</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zz2mMIBKBv91" style="border-bottom: Black 1.5pt solid; text-align: right" title="Return of equity">(327,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Balance, March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_984_eus-gaap--EquityMethodInvestments_iE_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zfQxHoRTy7Ji" style="border-bottom: Black 1.5pt solid; text-align: right" title="Balance, Ending">3,919,161</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnInvestmentsTextBlock', window );">SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT</a></td>
<td class="text"><p id="xdx_890_eus-gaap--GainLossOnInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zhyhPTmR8G6a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Summarized
profit and loss information related to the equity accounted investment is as follows:</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BC_z30TsSXlgd0i" style="display: none">SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_491_20240101__20240331_zMbJmA61lIf" style="border-bottom: Black 1.5pt solid; text-align: center">Three months <br/> ended <br/> March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_497_20230101__20230331_zw3kA14MAccc" style="border-bottom: Black 1.5pt solid; text-align: center">Three months <br/> ended <br/> March 31, 2023</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: right">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--GainsLossesOnSalesOfInvestmentRealEstate_zYrQmVeDJJWf" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%; text-align: left">Net sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">3,319,582</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">3,447,125</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--RealizedInvestmentGainsLosses_zIr740Rj5sXa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Gross profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,014,988</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">965,052</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_ecustom--RealizedInvestmentGainsLossesNet_zMkgRwI1eZ2h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Net income</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">364,403</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">139,990</td><td style="text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity method investments including, but not limited to, name of each investee or group of investments, percentage ownership, difference between recorded amount of an investment and the value of the underlying equity in the net assets, and summarized financial 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> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsTextBlock</td>
</tr>
<tr>
<td style="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_GainLossOnInvestmentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 realized and unrealized gain (loss) on investment in security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnInvestmentsTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table does not include leveraged buyouts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479328/805-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock</td>
</tr>
<tr>
<td style="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_dei_LegalEntityAxis=FSI_EnpPeruInvestmentsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_EnpPeruInvestmentsLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_FloridaBasedLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757159953568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LONG TERM DEBT (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_ScheduleOfLoanCovenantsTableTextBlock', window );">SCHEDULE OF LOAN COVENANTS</a></td>
<td class="text"><p id="xdx_89B_ecustom--ScheduleOfLoanCovenantsTableTextBlock_zctQHSpVvtJg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As
of March 31, 2024, Company was in compliance with all loan covenants.&#160;</span></p>

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#160;</span><span id="xdx_8BA_zUAR8iZADcfg" style="display: none">SCHEDULE OF LOAN COVENANTS</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; text-align: left; font-weight: bold; vertical-align: bottom">Continuity</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49D_20240101__20240331_zuvSIOgZZKqc" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49D_20230101__20231231_z8EO1z0rNh5i" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">December 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebt_iS_zNXYxEIrIj02" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%">Balance, January 1</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">8,114,936</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">6,154,077</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LongTermDebt_iS_zdqLEef9LpU6" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)">
    <td><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Balance, beginning of period</span></td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">8,114,936</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right">6,154,077</td><td style="text-align: left">&#160;</td></tr>
<tr id="xdx_405_eus-gaap--ProceedsFromBankDebt_z0JaLlKrZhfe" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Plus: Proceeds from loans</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">57,816</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,686,682</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--PaymentsForProceedsFromDepositOnLoan_iN_di_zsZ1MqOd0r6h" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: Payments on loan</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(185,916</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(725,823</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_409_eus-gaap--LongTermDebt_iE_zEOdrvquHLP9" style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 2.5pt">Balance, end of period</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">7,986,836</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">8,114,936</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDebtInstrumentsTextBlock', window );">SCHEDULE OF OUTSTANDING BALANCE LOAN</a></td>
<td class="text"><p id="xdx_895_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_zHq2OSm8TR99" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BA_zpmGuloqtTz8" style="display: none">SCHEDULE
OF OUTSTANDING BALANCE LOAN</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="border-bottom: Black 1.5pt solid; text-align: left; font-weight: bold; vertical-align: bottom">Outstanding balance</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_495_20240331_z8A36R3eeH56" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">March 31, 2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_495_20231231_zYDcAy9kNwo5" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">December 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr id="xdx_404_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember_zAODdPJxaeNl" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 64%; text-align: left">a) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">396,371</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">399,269</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustOneMember_zskNnlR1yKPa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">b) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">842,828</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,004,748</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustTwoMember_ze89XPgI9e8b" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">c) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,717,683</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,737,232</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_408_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustThreeMember_zZ0mDuwqgoP8" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">d) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">248,658</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">250,207</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFourMember_z8T9U2fsjLLi" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">e) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,533,004</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,475,188</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFiveMember_zvyexy9NES97" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">f) Long term debt &#8211; Stock Yards Bank &amp; Trust</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">2,248,292</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">2,248,292</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--LongTermDebt_iI_zwuME8OzTate" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left">Long-term debt</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">7,986,836</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">8,114,936</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_405_eus-gaap--LongTermDebtCurrent_iNI_di_znUU2mJDF2yl" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">Less: current portion</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(1,665,440</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(1,281,632</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr id="xdx_40B_eus-gaap--LongTermDebtNoncurrent_iI_zoVkVnZ9G1Mb" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 2.5pt"><span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt">Long-term debt non current</span></td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">6,321,396</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td><td style="padding-bottom: 2.5pt">&#160;</td>
    <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">6,833,304</td><td style="padding-bottom: 2.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_ScheduleOfLoanCovenantsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of loan covenants [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;">FSI_ScheduleOfLoanCovenantsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_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> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69E<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-3<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 470<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477734/942-470-50-3<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-8<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-6<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>44
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757254807216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK OPTIONS (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">SCHEDULE OF STOCK OPTION ACTIVITIES</a></td>
<td class="text"><p id="xdx_895_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zMvM4uZk7tyk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
following table summarizes the Company&#8217;s stock option activities for the year ended December 31, 2023 and the three-month period
ended March 31, 2024:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"></span><span id="xdx_8B7_zQYh6YqjJC1d" style="display: none">SCHEDULE OF STOCK OPTION ACTIVITIES</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Number of shares</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Exercise price</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">per share</p></td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Weighted average</p>
                                                                                <p style="margin-top: 0; margin-bottom: 0">exercise price</p></td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%">Balance, December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20230101__20231231_zRO2EvRj112d" style="width: 14%; text-align: right" title="Number of shares, Beginning Balance">1,686,000</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zXCHqPiZOGQ" title="Exercise price per share, Beginning Balance">1.70</span> &#8211; <span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zqWTzGQoqJ6k" title="Exercise price per share, Beginning Balance">4.13</span></span></td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231_zWAKI7wnHI16" style="width: 14%; text-align: right" title="Weighted average exercise price, Beginning Balance">&#160;&#160;&#160;&#160;3.26</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20230101__20231231_z9T7ti2AEhXk" style="text-align: right" title="Number of shares, Cancelled or expired">(564,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_901_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_z9kuYRpRLq8i" title="Exercise price per share, Cancelled">3.46</span> &#8211; <span id="xdx_90A_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zsj3WxPGJCI6" title="Exercise price per share, Cancelled">4.13</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231_zCXvtCAWBVD4" style="text-align: right" title="Weighted average exercise price, Cancelled or expired">3.55</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_983_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20230101__20231231_zcoNEah025tj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised">(8,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_900_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20230101__20231231_znPHz2x0PVIg" title="Exercise price per share, Exercised">1.70</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20230101__20231231_zqFXJZvdvti9" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised">1.70</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20240101__20240331_zjR2lSIkKZp7" style="text-align: right" title="Number of shares, Beginning Balance">1,114,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zYk8Tkx4o8va" title="Exercise price per share, Beginning Balance">1.75</span> &#8211;<span id="xdx_90A_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zygHR4FcYYPh" title="Exercise price per share, Beginning Balance"> 3.61</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20240101__20240331_zTZA5TGiZGB7" title="Weighted average exercise price, Beginning Balance">3.13</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Granted</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20240331_z24gLJACc8Dk" style="text-align: right" title="Number of shares, Granted">950,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20240101__20240331_zvfYlzmAxNJc" title="Exercise price per share, Granted">2.00</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20240101__20240331_zE1WCWaNmeuf" style="text-align: right" title="Weighted average exercise price, Granted">2.00</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Cancelled or expired</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20240101__20240331_z6zgjV2NDgb2" style="text-align: right" title="Number of shares, Cancelled or expired">(103,000</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_904_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zLc7ZjxguLIa" title="Exercise price per share, Cancelled">1.75</span> &#8211;<span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zmsMC8sZlNrb" title="Exercise price per share, Cancelled"> 3.61</span></span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20240101__20240331_z5K8ttDHcPc6" style="text-align: right" title="Weighted average exercise price, Cancelled or expired">2.06</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Exercised</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98A_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20240101__20240331_ziopQcBMwXia" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised">(15,000</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20240101__20240331_zm0Lrr8aewVg" title="Exercise price per share, Exercised">1.75</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20240101__20240331_zmAZQd3zSP66" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised">1.75</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balance, March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pid_c20240101__20240331_zqzBFBl1dbCg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Ending Balance">1,946,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_909_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zJcDShU8qd22" title="Exercise price per share, Ending Balance">2.00</span> &#8211;<span id="xdx_901_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zrcJk6OUNiZj" title="Exercise price per share, Ending Balance"> 3.61</span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20240101__20240331_zx4CdsSwQDE" title="Weighted average exercise price, Ending Balance">2.65</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Exercisable, March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_pid_c20240101__20240331_zVrHK10EmC2d" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares Exercisable, Ending Balance">814,000</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zU2xdzutyQ82" title="Exercise price per share Exercisable, Ending Balance">2.00</span> &#8211; <span id="xdx_904_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zG0yTZazPPf6" title="Exercise price per share Exercisable, Ending Balance">3.61</span></span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20240101__20240331_zppk7wGSFWEi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercisable, Ending Balance">2.86</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS</a></td>
<td class="text"><p id="xdx_892_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zaNhqUc3IFed" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
fair value of each option grant is calculated using the following weighted average assumptions:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B3_zv5lfFd364Lf" style="display: none">SCHEDULE
OF STOCK OPTION FAIR VALUE ASSUMPTIONS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 80%; text-align: left">Expected life &#8211; years</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td style="width: 16%; text-align: right"><span id="xdx_905_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20240101__20240331_zUVxC27e0Phk" title="Expected life - years">3.0</span></td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="text-align: left">Interest rate</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zfsra40ugjM4" title="Interest rate">3.893</span> &#8211; <span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zFs1Hc1tzik9" title="Interest rate">4.22</span></span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Volatility</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zfiGAlHTLXSe" title="Volatility">59.72</span> &#8211; <span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zbwDmvCTNFHi" title="Volatility">60.35</span></span></td><td style="text-align: left">%</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Weighted average fair value of options granted</td><td>&#160;</td>
    <td style="text-align: left">$</td><td style="text-align: right"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zkVQfm8QFdQ2" title="Weighted average fair value of options granted">0.71</span> &#8211; <span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zvUHJTuNZnk1" title="Weighted average fair value of options granted">0.79</span></span></td><td style="text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (f)(2)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757262538352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NON-CONTROLLING INTERESTS (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestAbstract', window );"><strong>Noncontrolling Interest [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_ScheduleOfDistributionsTableTextBlock', window );">SCHEDULE OF DISTRIBUTIONS</a></td>
<td class="text"><p id="xdx_893_ecustom--ScheduleOfDistributionsTableTextBlock_zE8sFr1iJh45" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B6_zINo4BH5sTAi" style="display: none">SCHEDULE
OF DISTRIBUTIONS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 82%">Balance, December 31, 2022</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td id="xdx_982_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zZUAUi8CtNqj" style="width: 14%; text-align: right" title="Distribution to noncontrolling interests, Beginning balance">2,605,034</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Distribution</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_983_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zMrjK9ukj5Hf" style="text-align: right" title="Distribution">(719,439</td><td style="text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Non-controlling interest share of income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_985_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zeKqmhItqBq8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income">1,015,604</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--MinorityInterest_iS_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zUEbqCghElc2" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance">2,901,199</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Non-controlling interest share of income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98B_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zlggCZ8KNBi1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income">80,460</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balance, March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_984_eus-gaap--MinorityInterest_iE_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zmY1ohPtzAK4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Ending balance">2,981,659</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></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_FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock', window );">SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION</a></td>
<td class="text"><p id="xdx_893_ecustom--ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_zUPJOqfEJiI1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B9_zhhGxxdYpXek" style="display: none">SCHEDULE
OF NON CONTROLLING INTEREST RELATED TO ACQUISITION</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Balance, December 31, 2022</td><td>&#160;</td>
    <td style="text-align: left">$</td><td id="xdx_984_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z9wXkLZjFNUk" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance"><span style="-sec-ix-hidden: xdx2ixbrl1285">-</span></td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="width: 82%">Acquisition</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">&#160;</td><td id="xdx_986_eus-gaap--PaymentsToAcquireBusinessesAndInterestInAffiliates_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z4gghoiVDYD6" style="width: 14%; text-align: right" title="Distribution to noncontrolling interests, Acquisition">200,000</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Non-controlling interest share of income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_98D_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zIO75RBXXL8k" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Non-controlling interest share of loss">(35,483</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td>Balance, December 31, 2023</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td id="xdx_98E_eus-gaap--MinorityInterest_iS_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zlT9R9TQsOpi" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance">164,517</td><td style="text-align: left">&#160;</td></tr>
  <tr style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Non-controlling interest share of income</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td id="xdx_980_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zaoFMdorTMUd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Non-controlling interest share of loss">(21,477</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  <tr style="vertical-align: bottom; background-color: White">
    <td style="padding-bottom: 1.5pt">Balance, March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td id="xdx_98D_eus-gaap--MinorityInterest_iE_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zpGscKwB5ySe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Ending balance">143,040</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_ScheduleOfDistributionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of Distributions [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;">FSI_ScheduleOfDistributionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Non Controlling Interest Related To Acquisition [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;">FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_NoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757263918672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [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_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock', window );">SCHEDULE OF REPORTABLE SEGMENTS</a></td>
<td class="text"><p id="xdx_89E_eus-gaap--ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_zqDnDmYSK3Ek" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B4_zZKq8Czmzfyc" style="display: none">SCHEDULE
OF REPORTABLE SEGMENTS</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="vertical-align: bottom; text-align: center">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_496_20240101__20240331__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z98B8I7cNv64" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">EWCP</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49F_20240101__20240331__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zMWbgi0evMHf" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">BCPA</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49D_20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_ztpGkhAvIVkc" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Consolidated</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_znhp3eGwkWO5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">41,608</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">9,183,264</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">9,224,872</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_z4snAbsuGE94" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1307">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">175,266</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">175,266</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zKloyDITOMQ2" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,883</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">418,786</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">422,669</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_z2eGn9i9RMmk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">34,940</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">229,238</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">264,178</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zMxjEzR6asXd" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">18,540</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">438,685</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">457,225</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_zdfuOxHxFZ5g" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">3,664,387</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">53,897,000</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">57,561,387</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zu9HQin2j463" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Expenditures for segment assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1327">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(477,350</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(477,350</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  </table>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Three
months ended March 31, 2023:</span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="vertical-align: bottom; text-align: center">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49C_20230101__20230331__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zYnwCZgvnYlb" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">EWCP</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_499_20230101__20230331__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z9eIIn0afSbi" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">BCPA</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_495_20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zUvTro3MJX4i" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Consolidated</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td style="text-align: justify">&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2" style="text-align: justify">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_z5xx5eA7GVO5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 46%; text-align: justify">Sales</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">80,660</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">9,776,857</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 14%; text-align: right">9,847,517</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--InterestExpense_zgUvcwbxjfRc" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Interest expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1335">-</span></td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">134,870</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">134,870</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_407_eus-gaap--DepreciationNonproduction_zNQsvUOAdIm5" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td>Depreciation</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">4,279</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">360,905</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">365,184</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zhu2ITk4jwVa" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Income tax expense</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">915</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">298,862</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">299,777</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NetIncomeLoss_zYwaWXfxuZal" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: justify">Segment profit</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">(151,728</td><td style="text-align: left">)</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">1,116,222</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">964,494</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_ecustom--SegmentAssets_zoTVvLhDxHD5" style="vertical-align: bottom; background-color: White">
    <td style="text-align: justify">Segment assets</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">2,858,968</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">50,079,080</td><td style="text-align: left">&#160;</td><td>&#160;</td>
    <td style="text-align: left">&#160;</td><td style="text-align: right">52,938,048</td><td style="text-align: left">&#160;</td></tr>
  <tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zoz7agY32ez1" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="text-align: left; padding-bottom: 1.5pt">Expenditures for segment assets</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right"><span style="-sec-ix-hidden: xdx2ixbrl1355">-</span></td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(213,060</td><td style="padding-bottom: 1.5pt; text-align: left">)</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">(213,060</td><td style="padding-bottom: 1.5pt; text-align: left">)</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock', window );">SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA</a></td>
<td class="text"><p id="xdx_893_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zFjugEOZisUe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales
by territory are shown below:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_z6ARdtI1cF23" style="display: none">SCHEDULE
OF REVENUE GENERATED IN UNITED STATES AND CANADA</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td style="text-align: center; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_498_20240101__20240331_z2AigLgqTpih" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Three months <br/> ended <br/> March 31, 2024</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td>
    <td colspan="2" id="xdx_49E_20230101__20230331_zcuktveNUvZc" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center">Three months <br/> ended <br/> March 31, 2023</td><td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__country--CA_zEQpJMYE33C6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">88,478</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">116,680</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__custom--UnitedStatesandAbroadMember_ztrR0lRXydQk" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">United States and abroad</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">9,136,394</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">9,730,837</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zTVxxJcQD2Tj" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">9,224,872</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">9,847,517</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock', window );">SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE</a></td>
<td class="text"><p id="xdx_89C_eus-gaap--ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_zE8ZjZzAgnLc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The
Company&#8217;s long-lived assets (property, equipment, leaseholds, right of use assets, intangibles, and goodwill) are located in Canada
and the United States as follows:</span></p>

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

<p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_zB515EvfaxAj" style="display: none">SCHEDULE
OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE</span></span></p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in">
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49B_20240331_zwK6vI9iSN1l" style="border-bottom: Black 1.5pt solid; text-align: center">March 31, 2024</td><td style="padding-bottom: 1.5pt">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td colspan="2" id="xdx_49D_20231231_zFZKt8duuDHb" style="border-bottom: Black 1.5pt solid; text-align: center">December&#160;31,&#160;2023</td><td style="padding-bottom: 1.5pt">&#160;</td></tr>
  <tr style="vertical-align: bottom">
    <td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td><td>&#160;</td>
    <td colspan="2">&#160;</td><td>&#160;</td></tr>
  <tr id="xdx_400_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--CA_zgNqraBZN14k" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="width: 60%">Canada</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">135,299</td><td style="width: 1%; text-align: left">&#160;</td><td style="width: 2%">&#160;</td>
    <td style="width: 1%; text-align: left">$</td><td style="width: 16%; text-align: right">142,577</td><td style="width: 1%; text-align: left">&#160;</td></tr>
  <tr id="xdx_40C_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--US_zNrND2Talfib" style="vertical-align: bottom; background-color: White">
    <td style="text-align: left; padding-bottom: 1.5pt">United States</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">17,906,216</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">&#160;</td><td style="border-bottom: Black 1.5pt solid; text-align: right">17,958,778</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  <tr id="xdx_40A_eus-gaap--NoncurrentAssets_iI_zVPUcIRZm1O6" style="vertical-align: bottom; background-color: rgb(204,238,255)">
    <td style="padding-bottom: 1.5pt">Total</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">18,041,515</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td><td style="padding-bottom: 1.5pt">&#160;</td>
    <td style="border-bottom: Black 1.5pt solid; text-align: left">$</td><td style="border-bottom: Black 1.5pt solid; text-align: right">18,101,355</td><td style="padding-bottom: 1.5pt; text-align: left">&#160;</td></tr>
  </table>

<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 all significant reconciling items in the reconciliation of total revenues from reportable segments to the entity's consolidated revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 names of foreign countries in which material long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets are located, and amount of such long-lived assets located in that country or foreign geographic area.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock</td>
</tr>
<tr>
<td style="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_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757255004416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BASIS OF PRESENTATION (Details Narrative)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</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_srt_OwnershipAxis=FSI_MendotaLLCMember', window );">317 Mendota LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate</a></td>
<td class="nump">80.00%<span></span>
</td>
<td class="nump">80.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_OwnershipAxis=FSI_MendotaLLCMember', window );">317 Mendota LLC [Member] | Unrelated Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners', window );">Noncontrolling interest percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.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_OwnershipAxis=FSI_ENPInvestmentsLLCAndENPMendotaMember', window );">ENP Investments LLC and ENP Mendota [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate</a></td>
<td class="nump">65.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_OwnershipAxis=FSI_ENPPeruMember', window );">ENP Peru [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">65.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_IncreaseDecreaseInSharePercentage', window );">Increase decrease in share percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">91.67%<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_FSI_RemainingInvestmentOwnedPercentage', window );">Remaining investment owned percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.33%<span></span>
</td>
<td class="nump">8.33%<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_OwnershipAxis=FSI_ENPPeruMember', window );">ENP Peru [Member] | Unrelated Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_IncreaseDecreaseInSharePercentage', window );">Increase decrease in share percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_IncreaseDecreaseInSharePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 share percentage.</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;">FSI_IncreaseDecreaseInSharePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_RemainingInvestmentOwnedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Remaining investment owned percentage.</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;">FSI_RemainingInvestmentOwnedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_MinorityInterestOwnershipPercentageByNoncontrollingOwners">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity interest of noncontrolling shareholders, partners or other equity holders in consolidated 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;">us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners</td>
</tr>
<tr>
<td style="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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 units or percentage investment held in the subsidiary by the limited liability company or limited partnership.</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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_OwnershipAxis=FSI_MendotaLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OwnershipAxis=FSI_MendotaLLCMember</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=FSI_UnrelatedPartyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_UnrelatedPartyMember</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_OwnershipAxis=FSI_ENPInvestmentsLLCAndENPMendotaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OwnershipAxis=FSI_ENPInvestmentsLLCAndENPMendotaMember</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_OwnershipAxis=FSI_ENPPeruMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OwnershipAxis=FSI_ENPPeruMember</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>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757278176976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF METHOD OF DEPRECIATION (Details)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment [Member]</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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">20%
    Declining balance<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_OfficeEquipmentMember', window );">Office Equipment [Member]</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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">20%
    Declining balance<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Building and Building Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">10%
    Declining balance<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_AutomobilesMember', window );">Automobiles [Member]</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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">Straight-line
    over 5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_TechnologyEquipmentMember', window );">Technology Equipment [Member]</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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">Straight-line
    over 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_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member]</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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">Straight-line
    over lease term<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_CustomerRelationshipsMember', window );">Customer Relationships [Member]</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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [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_FSI_DepreciationMethodUsedAndAnnualRate', window );">Depreciation method used and annual rate</a></td>
<td class="text">Straight-line
    over 15 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DepreciationMethodUsedAndAnnualRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Depreciation method used and annual 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;">FSI_DepreciationMethodUsedAndAnnualRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_OfficeEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OfficeEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_AutomobilesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AutomobilesMember</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_TechnologyEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TechnologyEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757278285392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SIGNIFICANT ACCOUNTING POLICIES (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 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_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sale</a></td>
<td class="nump">$ 9,224,872<span></span>
</td>
<td class="nump">$ 9,847,517<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 6,404,505<span></span>
</td>
<td class="nump">6,762,525<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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_InvestmentMember', window );">Investment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities', window );">Equity method investment, description</a></td>
<td class="text">Significant influence is generally deemed to exist if the Company&#8217;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#8217;s board of directors, are considered in determining whether the equity method of accounting is appropriate.<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_ConcentrationRiskByTypeAxis=FSI_ThreePrimaryCustomersMember', window );">Three Primary Customers [Member] | Revenue from Contract with Customer Benchmark [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sale</a></td>
<td class="nump">$ 5,106,905<span></span>
</td>
<td class="nump">$ 4,366,106<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_FSI_ConcentrationRiskThresholdPercentage', window );">Accounts receivable, after allowance for credit loss, percentage</a></td>
<td class="nump">55.00%<span></span>
</td>
<td class="nump">44.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_ConcentrationRiskByTypeAxis=FSI_ThreePrimaryCustomersMember', window );">Three Primary Customers [Member] | Accounts Receivable [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sale</a></td>
<td class="nump">$ 7,843,766<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,561,164<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_FSI_ConcentrationRiskThresholdPercentage', window );">Accounts receivable, after allowance for credit loss, percentage</a></td>
<td class="nump">60.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">67.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ShippingAndHandlingMember', window );">Shipping and Handling [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sale</a></td>
<td class="nump">$ 128,289<span></span>
</td>
<td class="nump">$ 143,173<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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">216,503<span></span>
</td>
<td class="nump">$ 255,489<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_ShortTermDebtTypeAxis=FSI_FirstTermMember', window );">First Term [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Deposits', window );">Deposits</a></td>
<td class="nump">$ 688,126<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="nump">4.908%<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_FSI_MinimumInterestPenalty', window );">Minimum interest penalty</a></td>
<td class="nump">$ 150<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_ShortTermDebtTypeAxis=FSI_SecondTermMember', window );">Second Term [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Deposits', window );">Deposits</a></td>
<td class="nump">$ 303,954<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="nump">1.30%<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_ShortTermDebtTypeAxis=FSI_ThirdTermMember', window );">Third Term [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Deposits', window );">Deposits</a></td>
<td class="nump">$ 720,982<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="nump">3.00%<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_FSI_MinimumInterestPenalty', window );">Minimum interest penalty</a></td>
<td class="nump">$ 150<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_ShortTermDebtTypeAxis=FSI_FourthTermMember', window );">Fourth Term [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Deposits', window );">Deposits</a></td>
<td class="nump">$ 1,000,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_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="nump">3.85%<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_FSI_MinimumInterestPenalty', window );">Minimum interest penalty</a></td>
<td class="nump">$ 150<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_ShortTermDebtTypeAxis=FSI_FifthTermMember', window );">Fifth Term [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductInformationLineItems', window );"><strong>Product Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Deposits', window );">Deposits</a></td>
<td class="nump">$ 310,695<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="nump">3.85%<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_FSI_ConcentrationRiskThresholdPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Concentration Risk Threshold Percentage.</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;">FSI_ConcentrationRiskThresholdPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_MinimumInterestPenalty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest penalty.</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;">FSI_MinimumInterestPenalty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_Deposits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of all deposit liabilities held by the entity, including foreign and domestic, interest and noninterest bearing; may include demand deposits, saving deposits, Negotiable Order of Withdrawal (NOW) and time deposits among others.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Deposits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EquityMethodInvestmentDescriptionOfPrincipalActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 description of the principal activities of an investee accounted for under the equity method.</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_EquityMethodInvestmentDescriptionOfPrincipalActivities</td>
</tr>
<tr>
<td style="padding-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_ProductInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_InvestmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_InvestmentMember</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=FSI_ThreePrimaryCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_ThreePrimaryCustomersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_RevenueFromContractWithCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_RevenueFromContractWithCustomerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_ProductOrServiceAxis=us-gaap_ShippingAndHandlingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_ShippingAndHandlingMember</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=FSI_FirstTermMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_FirstTermMember</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=FSI_SecondTermMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_SecondTermMember</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=FSI_ThirdTermMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_ThirdTermMember</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=FSI_FourthTermMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_FourthTermMember</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=FSI_FifthTermMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_FifthTermMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757254491968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details) - USD ($)<br></strong></div></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>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 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_FSI_DisclosureLeasesAbstract', window );"><strong>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_OperatingLeaseLeaseIncomeLeasePayments', window );">Payment of penalty</a></td>
<td class="nump">$ 35,910<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SecurityDeposit', window );">Security deposit</a></td>
<td class="nump">5,440<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnTerminationOfLease', window );">Loss on terminating lease</a></td>
<td class="nump">41,350<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">Right of use assets, beginning balance</a></td>
<td class="nump">115,293<span></span>
</td>
<td class="nump">$ 167,222<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense', window );">Depreciation</a></td>
<td class="num">(13,694)<span></span>
</td>
<td class="num">(51,929)<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_FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease', window );">Right of use assets, early termination of lease</a></td>
<td class="num">(101,599)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Right of use assets, ending balance</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">115,293<span></span>
</td>
</tr>
<tr class="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 );">Lease liability, beginning balance</a></td>
<td class="nump">115,293<span></span>
</td>
<td class="nump">167,222<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_FSI_LeaseInterestExpense', window );">Lease interest expense</a></td>
<td class="nump">1,186<span></span>
</td>
<td class="nump">6,151<span></span>
</td>
</tr>
<tr class="re">
<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 );">Payments</a></td>
<td class="num">(14,880)<span></span>
</td>
<td class="num">(58,080)<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_FSI_OperatingLeaseLiabilityEarlyTerminationOfLease', window );">Lease liability, early termination of lease</a></td>
<td class="num">(101,599)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Lease liability, ending balance</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 115,293<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">FSI_DisclosureLeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_LeaseInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest 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;">FSI_LeaseInterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_OperatingLeaseLiabilityEarlyTerminationOfLease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 liability early termination of lease</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;">FSI_OperatingLeaseLiabilityEarlyTerminationOfLease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Right of use assets early termination of lease</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;">FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_GainLossOnTerminationOfLease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 gain (loss) on termination of lease before expiration of lease term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 40<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479092/842-20-40-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnTerminationOfLease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OperatingLeaseLeaseIncomeLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lease income from lease payments paid and payable to lessor. Excludes variable lease payments not included in measurement of lease 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> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-6A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479773/842-30-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLeaseIncomeLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>
<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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SecurityDeposit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 an asset, typically cash, provided to a counterparty to provide certain assurance of performance by the entity pursuant to the terms of a written or oral agreement, such as a 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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SecurityDeposit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>51
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757158503792">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASES (Details Narrative)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DisclosureLeasesAbstract', window );"><strong>Leases</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 leases discount rate</a></td>
<td class="nump">5.50%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">FSI_DisclosureLeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757160247168">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF ACCOUNTS RECEIVABLE (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 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_ReceivablesAbstract', window );"><strong>Receivables [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_AccountsReceivableGross', window );">Accounts receivable</a></td>
<td class="nump">$ 13,281,820<span></span>
</td>
<td class="nump">$ 10,133,249<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables', window );">Allowances for doubtful accounts</a></td>
<td class="num">(289,277)<span></span>
</td>
<td class="num">(290,193)<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_AccountsAndNotesReceivableNet', window );">Total accounts receivable</a></td>
<td class="nump">$ 12,992,543<span></span>
</td>
<td class="nump">$ 9,843,056<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_AccountsAndNotesReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 accounts and financing receivable. Includes, but is not limited to, notes and loan receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsAndNotesReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AccountsReceivableGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-13<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 valuation allowance as of the balance sheet date to reduce the gross amount of receivables to estimated net realizable value, which would be presented in parentheses on the face of the balance sheet.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757260018864">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF INVENTORY (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Completed goods</a></td>
<td class="nump">$ 2,139,797<span></span>
</td>
<td class="nump">$ 2,682,158<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsAndSupplies', window );">Raw materials and supplies</a></td>
<td class="nump">8,319,459<span></span>
</td>
<td class="nump">8,452,731<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Total inventory</a></td>
<td class="nump">$ 10,459,256<span></span>
</td>
<td class="nump">$ 11,134,889<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterialsAndSupplies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsAndSupplies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>54
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757161360064">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 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_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">$ 23,782,060<span></span>
</td>
<td class="nump">$ 23,365,705<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">10,514,820<span></span>
</td>
<td class="nump">10,193,918<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</a></td>
<td class="nump">13,267,240<span></span>
</td>
<td class="nump">13,171,787<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Building and Building Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">12,408,992<span></span>
</td>
<td class="nump">12,341,605<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">4,049,352<span></span>
</td>
<td class="nump">3,896,887<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</a></td>
<td class="nump">8,359,640<span></span>
</td>
<td class="nump">8,444,718<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_AutomobilesMember', window );">Automobiles [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">196,255<span></span>
</td>
<td class="nump">196,255<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">147,232<span></span>
</td>
<td class="nump">140,040<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</a></td>
<td class="nump">49,023<span></span>
</td>
<td class="nump">56,215<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_OfficeEquipmentMember', window );">Office Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">122,161<span></span>
</td>
<td class="nump">177,623<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">111,825<span></span>
</td>
<td class="nump">165,048<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</a></td>
<td class="nump">10,336<span></span>
</td>
<td class="nump">12,575<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Machinery and Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">10,424,369<span></span>
</td>
<td class="nump">10,017,466<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">6,016,720<span></span>
</td>
<td class="nump">5,799,779<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</a></td>
<td class="nump">4,407,649<span></span>
</td>
<td class="nump">4,217,687<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember', window );">Land [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">440,592<span></span>
</td>
<td class="nump">440,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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</a></td>
<td class="nump">440,592<span></span>
</td>
<td class="nump">440,592<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">88,872<span></span>
</td>
<td class="nump">88,872<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">88,872<span></span>
</td>
<td class="nump">88,872<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed Technology Rights [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Cost</a></td>
<td class="nump">100,819<span></span>
</td>
<td class="nump">103,292<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation</a></td>
<td class="nump">100,819<span></span>
</td>
<td class="nump">103,292<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net, total</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478451/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_AutomobilesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AutomobilesMember</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_OfficeEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OfficeEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757159840832">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</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_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">$ 382,669<span></span>
</td>
<td class="nump">$ 302,810<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757255284096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details) - USD ($)<br></strong></div></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>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 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_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 2,534,275<span></span>
</td>
<td class="nump">$ 2,534,275<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill', window );">Indefinite lived intangible assets</a></td>
<td class="nump">770,000<span></span>
</td>
<td class="nump">770,000<span></span>
</td>
<td class="nump">$ 770,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_dei_LegalEntityAxis=FSI_EnPInvestmentsCorporationLLCMember', window );">ENP Investments Limited Liability Corporation (LLC) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Definite lived intangible assets, beginning balance</a></td>
<td class="nump">1,510,000<span></span>
</td>
<td class="nump">1,670,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization</a></td>
<td class="num">(40,000)<span></span>
</td>
<td class="num">(160,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Definite lived intangible assets, ending balance</a></td>
<td class="nump">$ 1,470,000<span></span>
</td>
<td class="nump">$ 1,510,000<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_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IndefiniteLivedIntangibleAssetsExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_dei_LegalEntityAxis=FSI_EnPInvestmentsCorporationLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_EnPInvestmentsCorporationLLCMember</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>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757160110544">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details) - Finite-Lived Intangible Assets [Member]<br></strong></div></th>
<th class="th">
<div>Mar. 31, 2024 </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_ImpairmentEffectsOnEarningsPerShareLineItems', window );"><strong>Impairment Effects on Earnings Per Share [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_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear', window );">2024</a></td>
<td class="nump">$ 160,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_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2025</a></td>
<td class="nump">160,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_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2026</a></td>
<td class="nump">160,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_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2027</a></td>
<td class="nump">160,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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2028</a></td>
<td class="nump">$ 160,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_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_FairValueByAssetClassAxis=us-gaap_FiniteLivedIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueByAssetClassAxis=us-gaap_FiniteLivedIntangibleAssetsMember</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>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757154170560">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>GOODWILL AND INTANGIBLE ASSETS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</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_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Amortization</a></td>
<td class="nump">$ 40,000<span></span>
</td>
<td class="nump">$ 40,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_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<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.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757161355808">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF LONG TERM DEPOSITS (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 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_FSI_DisclosureLongTermDepositsAbstract', window );"><strong>Long Term Deposits</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_DepositsAssetsNoncurrent', window );">Long term deposits</a></td>
<td class="nump">$ 840,592<span></span>
</td>
<td class="nump">$ 824,254<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_DisclosureLongTermDepositsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">FSI_DisclosureLongTermDepositsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_DepositsAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment after one year or beyond the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepositsAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<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.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757254501984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2024 </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_EquityMethodInvestmentsAndJointVenturesAbstract', window );"><strong>Equity Method Investments and Joint Ventures [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_BusinessCombinationConsiderationTransferred1', window );">Purchase consideration</a></td>
<td class="nump">$ 506,659<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash</a></td>
<td class="nump">7,330<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings', window );">Building</a></td>
<td class="nump">3,750,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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand', window );">Land</a></td>
<td class="nump">150,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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities', window );">Deferred tax liability</a></td>
<td class="num">(174,582)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt', window );">Long term debt</a></td>
<td class="num">(2,849,500)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets', window );">Total identifiable net assets:</a></td>
<td class="nump">883,248<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_FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice', window );">Excess of assets acquired over consideration</a></td>
<td class="nump">376,589<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_FSI_InvestmentEliminatedUponConsolidation', window );">Less investment eliminated upon consolidation</a></td>
<td class="num">(41,538)<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_FSI_GainOnAcquisitionOfSubsidiary', window );">Gain on acquisition of ENP Peru</a></td>
<td class="nump">$ 335,051<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business combination recognized identifiable assets acquired and liabilities assumed less purchase 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;">FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Business combination recognized identifiable assets acquired and liabilities assumed 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;">FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_GainOnAcquisitionOfSubsidiary">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 on acquisition of subsidiary.</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;">FSI_GainOnAcquisitionOfSubsidiary</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FSI_InvestmentEliminatedUponConsolidation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Investment eliminated upon consolidation.</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;">FSI_InvestmentEliminatedUponConsolidation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479637/805-30-30-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 assets acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 facility held for productive use including, but not limited to, office, production, storage and distribution facilities, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, acquired at the acquisition date. 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 real estate acquired, at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EquityMethodInvestmentsAndJointVenturesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EquityMethodInvestmentsAndJointVenturesAbstract</td>
</tr>
<tr>
<td style="padding-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>61
<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.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757255040368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF EQUITY METHOD INVESTMENT (Details) - USD ($)<br></strong></div></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>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 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_EquityMethodInvestments', window );">Balance, Beginning</a></td>
<td class="nump">$ 6,033,960<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_FSI_InvestmentEliminatedUponConsolidation', window );">Balance, Beginning</a></td>
<td class="num">(41,538)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Balance, Ending</a></td>
<td class="nump">5,889,161<span></span>
</td>
<td class="nump">$ 6,033,960<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LegalEntityAxis=FSI_EnpPeruInvestmentsLlcMember', window );">ENP Peru Investments LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Balance, Beginning</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">22,642<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_FSI_EquityMethodInvestmentReturnOfEquity', window );">Return of equity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(8,750)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal', window );">Gain in equity method investment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27,646<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_FSI_InvestmentEliminatedUponConsolidation', window );">Balance, Beginning</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(41,538)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Balance, Ending</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember', window );">Florida Based LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Balance, Beginning</a></td>
<td class="nump">4,063,960<span></span>
</td>
<td class="nump">3,758,895<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_FSI_EquityMethodInvestmentReturnOfEquity', window );">Return of equity</a></td>
<td class="num">(327,000)<span></span>
</td>
<td class="num">(200,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_EquityMethodInvestmentRealizedGainLossOnDisposal', window );">Gain in equity method investment</a></td>
<td class="nump">182,201<span></span>
</td>
<td class="nump">505,065<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Balance, Ending</a></td>
<td class="nump">$ 3,919,161<span></span>
</td>
<td class="nump">$ 4,063,960<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_EquityMethodInvestmentReturnOfEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Return of equity.</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;">FSI_EquityMethodInvestmentReturnOfEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_InvestmentEliminatedUponConsolidation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Investment eliminated upon consolidation.</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;">FSI_InvestmentEliminatedUponConsolidation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_EquityMethodInvestmentRealizedGainLossOnDisposal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 gain (loss) on sale or disposal of an equity method investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481664/323-10-45-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_dei_LegalEntityAxis=FSI_EnpPeruInvestmentsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_EnpPeruInvestmentsLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_FloridaBasedLLCMember</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>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.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757161400192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</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_EquityMethodInvestmentsAndJointVenturesAbstract', window );"><strong>Equity Method Investments and Joint Ventures [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_GainsLossesOnSalesOfInvestmentRealEstate', window );">Net sales</a></td>
<td class="nump">$ 3,319,582<span></span>
</td>
<td class="nump">$ 3,447,125<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RealizedInvestmentGainsLosses', window );">Gross profit</a></td>
<td class="nump">1,014,988<span></span>
</td>
<td class="nump">965,052<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_FSI_RealizedInvestmentGainsLossesNet', window );">Net income</a></td>
<td class="nump">$ 364,403<span></span>
</td>
<td class="nump">$ 139,990<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_RealizedInvestmentGainsLossesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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;">FSI_RealizedInvestmentGainsLossesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_EquityMethodInvestmentsAndJointVenturesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EquityMethodInvestmentsAndJointVenturesAbstract</td>
</tr>
<tr>
<td style="padding-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_GainsLossesOnSalesOfInvestmentRealEstate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 gain (loss) resulting from sales and other disposals of real estate owned for investment purposes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7)(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(14)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -SubTopic 360<br> -Topic 944<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477875/944-360-45-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -SubTopic 360<br> -Topic 944<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477875/944-360-45-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 360<br> -Topic 944<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478586/944-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainsLossesOnSalesOfInvestmentRealEstate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RealizedInvestmentGainsLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 realized gain (loss) on investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(3)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RealizedInvestmentGainsLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>63
<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.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757155895568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">1 Months Ended</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>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Dec. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Oct. 31, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Jan. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2016</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_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase consideration</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">$ 506,659<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_Cash', window );">Cash</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">5,302,954<span></span>
</td>
<td class="nump">$ 5,530,178<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,017,583<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_Investments', window );">Investment</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"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_DebtInstrumentMaturityMonthYear', window );">Debt maturity</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">2023-12<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_dei_LegalEntityAxis=FSI_AppliedHoldingCorpMember', window );">Applied Holding Corp [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Investments', window );">Investment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LegalEntityAxis=FSI_TrioOpportunityCorpMember', window );">Trio Opportunity Corp [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Investments', window );">Investment</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="text">&#160;<span></span>
</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">$ 470,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_dei_LegalEntityAxis=FSI_TrioOpportunityCorpMember', window );">Trio Opportunity Corp [Member] | Common Class B [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Common stock issued, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">97,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharePrice', window );">Share price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember', window );">Florida Based LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Sales</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">2,299,938<span></span>
</td>
<td class="nump">$ 1,778,897<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_AccountsReceivableNet', window );">Accounts receivable related parties</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,723,833<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,073,813<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_dei_LegalEntityAxis=FSI_LygosIncMember', window );">Lygos Inc [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Investments', window );">Investment</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,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireInvestments', window );">Payments to Acquire Investments</a></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="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_OwnershipAxis=FSI_ENPPeruMember', window );">ENP Peru [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase consideration</a></td>
<td class="nump">$ 506,659<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_Cash', window );">Cash</a></td>
<td class="nump">$ 259,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_OwnershipAxis=FSI_EnpnvestmentsLlcMember', window );">ENP Investments LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners', window );">Non-controlling interest 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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35.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>
</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_EnpPeruInvestmentsLlcMember', window );">ENP Peru Investments LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership 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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50.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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_NanoChemMember', window );">Nano Chem [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership 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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">41.67%<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_FSI_AdditionalEquityMethodInvestmentOwnershipPercentage', window );">Additional equity method investment ownership percentage</a></td>
<td class="nump">50.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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_ENPInvestmentsLLCMember', window );">ENP Investments, LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership 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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.33%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.33%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.33%<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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_FloridaBasedLLCMember', window );">Florida Based LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership 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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50.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_FSI_AdditionalEquityMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional equity method investment ownership percentage.</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;">FSI_AdditionalEquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_DebtInstrumentMaturityMonthYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 maturity month 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;">FSI_DebtInstrumentMaturityMonthYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearMonthItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477802/946-310-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(5)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479196/954-310-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479637/805-30-30-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479581/805-30-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477796/946-210-45-21<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 210<br> -Topic 946<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477796/946-210-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EquityMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="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_Investments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 80<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480078/944-80-55-14<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 80<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480078/944-80-55-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(h))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Investments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_MinorityInterestOwnershipPercentageByNoncontrollingOwners">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity interest of noncontrolling shareholders, partners or other equity holders in consolidated 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;">us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners</td>
</tr>
<tr>
<td style="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_PaymentsToAcquireInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 purchase of all investments (debt, security, other) during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEquityMethodInvestmentsLineItems</td>
</tr>
<tr>
<td style="padding-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_SharePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Price of a single share of a number of saleable stocks of a company.</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_SharePrice</td>
</tr>
<tr>
<td style="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_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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_dei_LegalEntityAxis=FSI_AppliedHoldingCorpMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_AppliedHoldingCorpMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=FSI_TrioOpportunityCorpMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_TrioOpportunityCorpMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonClassBMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=FSI_FloridaBasedLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_FloridaBasedLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=FSI_LygosIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_LygosIncMember</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_OwnershipAxis=FSI_ENPPeruMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OwnershipAxis=FSI_ENPPeruMember</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_OwnershipAxis=FSI_EnpnvestmentsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OwnershipAxis=FSI_EnpnvestmentsLlcMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_EnpPeruInvestmentsLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_EnpPeruInvestmentsLlcMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_NanoChemMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_NanoChemMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_ENPInvestmentsLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_ENPInvestmentsLLCMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_FloridaBasedLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=FSI_FloridaBasedLLCMember</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>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.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757259985488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SHORT-TERM LINE OF CREDIT (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 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_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>
</tr>
<tr class="ro">
<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 );">Line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,259,935<span></span>
</td>
<td class="nump">$ 1,810,479<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_LineOfCreditFacilityAxis=FSI_StockYardAndBankMember', window );">Stock Yard And Bank One [Member] | Noncontrolling Interest [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</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_FSI_LoanGuaranteedRate', window );">Loan guaranteed rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,575,000<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_LineOfCreditFacilityAxis=FSI_StockYardAndBankMember', window );">Stock Yard And Bank One [Member] | New Agreement [Member] | NanoChem Solutions Inc [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</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_FSI_LoanGuaranteedRate', window );">Loan guaranteed rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">65.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Line of credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,925,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermBorrowings', window );">Short term borrowings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,259,935<span></span>
</td>
<td class="nump">$ 1,810,479<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_LineOfCreditFacilityAxis=FSI_StockYardAndBankMember', window );">Stock Yard And Bank One [Member] | Midland States Bank [Member] | New Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity', window );">Line of Credit Facility, Current Borrowing Capacity</a></td>
<td class="nump">$ 500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Aggregate amount of revolving line of credit</a></td>
<td class="nump">$ 4,500,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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_PercentageOfForeignAccountsReceivableOfInventory', window );">Percentage of foreign accounts receivable of inventory</a></td>
<td class="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentFaceAmount', window );">Debt face amount</a></td>
<td class="nump">$ 2,000,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_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.50%<span></span>
</td>
<td class="nump">8.50%<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_LineOfCreditFacilityAxis=FSI_StockBankMember', window );">Stock Bank [Member] | New Agreement [Member] | NanoChem Solutions Inc [Member] | Revolving Credit Facility [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="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 borrowings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAxis=FSI_StockBankMember', window );">Stock Bank [Member] | Midland States Bank [Member] | New Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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 );">Aggregate amount of revolving line of credit</a></td>
<td class="nump">$ 4,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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_PercentageOfForeignAccountsReceivableOfInventory', window );">Percentage of foreign accounts receivable of inventory</a></td>
<td class="nump">50.00%<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 );">Debt face amount</a></td>
<td class="nump">$ 2,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_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8.50%<span></span>
</td>
<td class="nump">8.50%<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_FSI_EligiblePercentageOfDomesticAccountsReceivable', window );">Eligible percentage of domestic accounts receivable</a></td>
<td class="nump">80.00%<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_FSI_EligiblePercentageOfDomesticAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Eligible percentage of domestic accounts receivable.</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;">FSI_EligiblePercentageOfDomesticAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_LoanGuaranteedRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Loan guaranteed 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;">FSI_LoanGuaranteedRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_PercentageOfForeignAccountsReceivableOfInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 foreign accounts receivable 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;">FSI_PercentageOfForeignAccountsReceivableOfInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_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/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_LineOfCreditFacilityCurrentBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481544/470-10-50-6<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_LineOfCreditFacilityAxis=FSI_StockYardAndBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAxis=FSI_StockYardAndBankMember</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_NoncontrollingInterestMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NoncontrollingInterestMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TypeOfArrangementAxis=FSI_NewAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TypeOfArrangementAxis=FSI_NewAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=FSI_NanoChemSolutionIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_NanoChemSolutionIncMember</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=FSI_MidlandStatesBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_MidlandStatesBankMember</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_LineOfCreditFacilityAxis=FSI_StockBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LineOfCreditFacilityAxis=FSI_StockBankMember</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<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.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757160188240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF LOAN COVENANTS (Details) - USD ($)<br></strong></div></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>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Balance, beginning of period</a></td>
<td class="nump">$ 8,114,936<span></span>
</td>
<td class="nump">$ 6,154,077<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromBankDebt', window );">Plus: Proceeds from loans</a></td>
<td class="nump">57,816<span></span>
</td>
<td class="nump">2,686,682<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForProceedsFromDepositOnLoan', window );">Less: Payments on loan</a></td>
<td class="num">(185,916)<span></span>
</td>
<td class="num">(725,823)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Balance, end of period</a></td>
<td class="nump">$ 7,986,836<span></span>
</td>
<td class="nump">$ 8,114,936<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_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease 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> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PaymentsForProceedsFromDepositOnLoan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cash inflow or outflow from resulting from payment, receipt or drawdown of cash deposit to guarantee a loan 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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForProceedsFromDepositOnLoan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ProceedsFromBankDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 bank borrowing during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromBankDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<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.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757260151984">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF OUTSTANDING BALANCE LOAN (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">$ 7,986,836<span></span>
</td>
<td class="nump">$ 8,114,936<span></span>
</td>
<td class="nump">$ 6,154,077<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtCurrent', window );">Less: current portion</a></td>
<td class="num">(1,665,440)<span></span>
</td>
<td class="num">(1,281,632)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtNoncurrent', window );">Long-term debt non current</a></td>
<td class="nump">6,321,396<span></span>
</td>
<td class="nump">6,833,304<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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustMember', window );">Stock Yards Bank and Trust [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">396,371<span></span>
</td>
<td class="nump">399,269<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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustOneMember', window );">Stock Yards Bank and Trust One [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">842,828<span></span>
</td>
<td class="nump">1,004,748<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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustTwoMember', window );">Stock Yards Bank and Trust Two [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">2,717,683<span></span>
</td>
<td class="nump">2,737,232<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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustThreeMember', window );">Stock Yards Bank and Trust Three [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">248,658<span></span>
</td>
<td class="nump">250,207<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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustFourMember', window );">Stock Yards Bank and Trust Four [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">1,533,004<span></span>
</td>
<td class="nump">1,475,188<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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustFiveMember', window );">Stock Yards Bank and Trust Five [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_LongTermDebt', window );">Long-term debt</a></td>
<td class="nump">$ 2,248,292<span></span>
</td>
<td class="nump">$ 2,248,292<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_DefinedBenefitPlanDisclosureLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_DefinedBenefitPlanDisclosureLineItems</td>
</tr>
<tr>
<td style="padding-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_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease 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> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LongTermDebtCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_StockYardsBankTrustMember</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=FSI_StockYardsBankTrustOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_StockYardsBankTrustOneMember</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=FSI_StockYardsBankTrustTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_StockYardsBankTrustTwoMember</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=FSI_StockYardsBankTrustThreeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_StockYardsBankTrustThreeMember</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=FSI_StockYardsBankTrustFourMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_StockYardsBankTrustFourMember</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=FSI_StockYardsBankTrustFiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_StockYardsBankTrustFiveMember</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>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.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757152311344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>LONG TERM DEBT (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">1 Months Ended</th>
<th class="th" colspan="2">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>Jun. 30, 2022</div></th>
<th class="th"><div>Jan. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Jun. 30, 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_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_InterestExpense', window );">Interest expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 175,266<span></span>
</td>
<td class="nump">$ 134,870<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_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustMember', window );">Stock Yards Bank and Trust [Member] | ENP Realty LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_DebtInstrumentTerm', window );">Debt instrument term</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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 );">Debt instrument interest rate stated percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.35%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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=FSI_TermLoanMember', window );">Term Loan [Member] | Nano Chem [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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 );">Debt instrument face 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">$ 2,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_DebtInstrumentInterestRateStatedPercentage', window );">Debt instrument interest rate stated 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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6.50%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseDebt', window );">Interest expense debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">23,525<span></span>
</td>
<td class="nump">15,917<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_DebtDefaultLongtermDebtAmount', window );">Debt Long term debt amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,533,004<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,475,188<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=FSI_TermLoanMember', window );">Term Loan [Member] | Mendota [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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 );">Debt instrument face 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">$ 3,240,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseDebt', window );">Interest expense debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">46,886<span></span>
</td>
<td class="text"> <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_DebtDefaultLongtermDebtAmount', window );">Debt Long term debt amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,248,292<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,248,292<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=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | ENP Mendota, LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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 );">Debt instrument face amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 450,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="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 );">Debt instrument term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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 );">Debt instrument interest rate stated percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpenseDebt', window );">Interest expense debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,373<span></span>
</td>
<td class="nump">4,501<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_DebtDefaultLongtermDebtAmount', window );">Debt Long term debt amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">396,371<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">399,269<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=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | Nano Chem [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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 );">Debt instrument face amount</a></td>
<td class="nump">$ 1,935,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Debt instrument interest rate stated percentage</a></td>
<td class="nump">4.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_InterestExpenseDebt', window );">Interest expense debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,801<span></span>
</td>
<td class="nump">19,409<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_DebtDefaultLongtermDebtAmount', window );">Debt Long term debt amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">842,828<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,004,748<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=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | ENP Peru Investments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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 );">Debt instrument face amount</a></td>
<td class="nump">$ 259,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">248,658<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">250,207<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_DebtInstrumentTerm', window );">Debt instrument term</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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 );">Debt instrument interest rate stated percentage</a></td>
<td class="nump">65.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_InterestExpenseDebt', window );">Interest expense debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,409<span></span>
</td>
<td class="nump">3,452<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=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | ENP Peru Investments [Member] | Prime Rate [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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 );">Debt instrument interest rate stated percentage</a></td>
<td class="nump">5.40%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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=FSI_TermLoanMember', window );">Term Loan [Member] | Midland Bank [Member] | ENP Peru One [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtLineItems', window );"><strong>Short-Term Debt [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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 );">Debt instrument face amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,000,000<span></span>
</td>
<td class="nump">2,717,683<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,737,232<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_DebtInstrumentTerm', window );">Debt instrument term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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 );">Debt instrument interest rate stated percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.35%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_LoansPayable', window );">First mortgage</a></td>
<td class="nump">$ 2,849,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>
</tr>
<tr class="ro">
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 30,003<span></span>
</td>
<td class="nump">$ 30,530<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDefaultLongtermDebtAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 outstanding long-term debt or borrowing associated with any securities or credit agreement for which there has been a default in principal, interest, sinking fund, or redemption provisions, or any breach of covenant that existed at the end of the period and subsequently has not been cured.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDefaultLongtermDebtAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482900/835-30-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482925/835-30-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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_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 interest expense classified as operating and nonoperating. Includes, but is not limited to, cost of borrowing 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> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-24<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483013/835-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_InterestExpenseDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69E<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69F<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1F<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpenseDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LoansPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Including the current and noncurrent portions, aggregate carrying value as of the balance sheet date of loans payable (with maturities initially due after one year or beyond the operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LoansPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=FSI_StockYardsBankTrustMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_StockYardsBankTrustMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=FSI_EnpRealtyLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_EnpRealtyLLCMember</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=FSI_TermLoanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_TermLoanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=FSI_NanoChemMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_NanoChemMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=FSI_MendotaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_MendotaMember</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=FSI_MidlandBankMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_MidlandBankMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=FSI_ENPMendotaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_ENPMendotaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=FSI_ENPPeruInvestmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_ENPPeruInvestmentsMember</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_PrimeRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PrimeRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=FSI_ENPPeruOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LegalEntityAxis=FSI_ENPPeruOneMember</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>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.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757262142320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF STOCK OPTION ACTIVITIES (Details) - $ / shares<br></strong></div></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>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of shares, Beginning Balance</a></td>
<td class="nump">1,114,000<span></span>
</td>
<td class="nump">1,686,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted average exercise price, Beginning Balance</a></td>
<td class="nump">$ 3.13<span></span>
</td>
<td class="nump">$ 3.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Number of shares, Cancelled or expired</a></td>
<td class="num">(103,000)<span></span>
</td>
<td class="num">(564,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Weighted average exercise price, Cancelled or expired</a></td>
<td class="nump">$ 2.06<span></span>
</td>
<td class="nump">$ 3.55<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Number of shares, Exercised</a></td>
<td class="num">(15,000)<span></span>
</td>
<td class="num">(8,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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice', window );">Exercise price per share, Exercised</a></td>
<td class="nump">$ 1.75<span></span>
</td>
<td class="nump">$ 1.70<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted average exercise price, Exercised</a></td>
<td class="nump">$ 1.75<span></span>
</td>
<td class="nump">$ 1.70<span></span>
</td>
</tr>
<tr class="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 );">Number of shares, Granted</a></td>
<td class="nump">950,000<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice', window );">Exercise price per share, Granted</a></td>
<td class="nump">$ 2.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Weighted average exercise price, Granted</a></td>
<td class="nump">$ 2.00<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of shares, Ending Balance</a></td>
<td class="nump">1,946,000<span></span>
</td>
<td class="nump">1,114,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted average exercise price, Ending Balance</a></td>
<td class="nump">$ 2.65<span></span>
</td>
<td class="nump">$ 3.13<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Number of shares Exercisable, Ending Balance</a></td>
<td class="nump">814,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Weighted average exercise price, Exercisable, Ending Balance</a></td>
<td class="nump">$ 2.86<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice', window );">Exercise price per share, Beginning Balance</a></td>
<td class="nump">1.75<span></span>
</td>
<td class="nump">1.70<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice', window );">Exercise price per share, Cancelled</a></td>
<td class="nump">1.75<span></span>
</td>
<td class="nump">3.46<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice', window );">Exercise price per share, Ending Balance</a></td>
<td class="nump">2.00<span></span>
</td>
<td class="nump">1.75<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice', window );">Exercise price per share Exercisable, Ending Balance</a></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_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice', window );">Exercise price per share, Beginning Balance</a></td>
<td class="nump">3.61<span></span>
</td>
<td class="nump">4.13<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice', window );">Exercise price per share, Cancelled</a></td>
<td class="nump">3.61<span></span>
</td>
<td class="nump">4.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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice', window );">Exercise price per share, Ending Balance</a></td>
<td class="nump">3.61<span></span>
</td>
<td class="nump">$ 3.61<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice', window );">Exercise price per share Exercisable, Ending Balance</a></td>
<td class="nump">$ 3.61<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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cancelled or expired, Exercise 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;">FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Exercised, Exercise 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;">FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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, Granted.</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;">FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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.</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;">FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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.</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;">FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price of options that were either forfeited or expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<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.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757153411984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2024 </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_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected life - years</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</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_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="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 );">Interest rate</a></td>
<td class="nump">3.893%<span></span>
</td>
</tr>
<tr class="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 );">Volatility</a></td>
<td class="nump">59.72%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average fair value of options granted</a></td>
<td class="nump">$ 0.71<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Interest rate</a></td>
<td class="nump">4.22%<span></span>
</td>
</tr>
<tr class="re">
<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 );">Volatility</a></td>
<td class="nump">60.35%<span></span>
</td>
</tr>
<tr class="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 );">Weighted average fair value of options granted</a></td>
<td class="nump">$ 0.79<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_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<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.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757254909296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK OPTIONS (Details Narrative) - USD ($)<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, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 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_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage', window );">Options granted percentage</a></td>
<td class="nump">100.00%<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Vested term</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Options maximum granted term</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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted-average remaining contractual life</a></td>
<td class="text">3 years 9 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Stock options granted</a></td>
<td class="nump">950,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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="nump">15,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Stock vested compensation non vested</a></td>
<td class="nump">$ 822,813<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted average period expected to be recognized</a></td>
<td class="text">2 years 3 months 18 days<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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember', window );">Canada Revenue Agency [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue', window );">Aggregate intrinsic value of vested options</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 161,430<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested', window );">Aggregate intrinsic value of vested options exercised</a></td>
<td class="nump">$ 720<span></span>
</td>
<td class="nump">$ 11,520<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=FSI_ConsultantsMember', window );">Consultants [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Stock options granted</a></td>
<td class="nump">56,000<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockOptionPlanExpense', window );">Stock option expense</a></td>
<td class="nump">$ 9,940<span></span>
</td>
<td class="text"> <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_FSI_AdditionalExpensesDueToOptionsGranted', window );">Additional expenses due to options granted</a></td>
<td class="text"> <span></span>
</td>
<td class="nump">$ 62,241<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_TitleOfIndividualAxis=FSI_EmployeesMember', window );">Employees [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Stock options granted</a></td>
<td class="nump">894,000<span></span>
</td>
<td class="text"> <span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockOptionPlanExpense', window );">Stock option expense</a></td>
<td class="nump">$ 199,687<span></span>
</td>
<td class="text"> <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_FSI_AdditionalExpensesDueToOptionsGranted', window );">Additional expenses due to options granted</a></td>
<td class="nump">$ 43,730<span></span>
</td>
<td class="nump">$ 328,769<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="nump">15,000<span></span>
</td>
<td class="nump">8,000<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_FSI_AdditionalExpensesDueToOptionsGranted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional expenses due to options granted.</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;">FSI_AdditionalExpensesDueToOptionsGranted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 vesting of 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/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage</td>
</tr>
<tr>
<td style="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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of vested 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (e)(1)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockOptionPlanExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockOptionPlanExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxAuthorityNameAxis=us-gaap_CanadaRevenueAgencyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=FSI_ConsultantsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=FSI_ConsultantsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=FSI_EmployeesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=FSI_EmployeesMember</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>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757260030400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CAPITAL STOCK (Details Narrative) - USD ($)<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, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="nump">15,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,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_StockIssuedDuringPeriodSharesIssuedForServices', window );">Consultant for services, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,272<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueIssuedForServices', window );">Consultant for services, value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,070<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsPayableAmountPerShare', window );">Dividends per share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.05<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Share-Based Payment Arrangement, Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised</a></td>
<td class="nump">15,000<span></span>
</td>
<td class="nump">8,000<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_DividendsPayableAmountPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 per share amount of a dividend declared, but not paid, as of the financial reporting date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableAmountPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesIssuedForServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued in lieu of cash for services contributed to the entity. Number of shares includes, but is not limited to, shares issued for services contributed by vendors and founders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesIssuedForServices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueIssuedForServices">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued in lieu of cash for services contributed to the entity. Value of the stock issued includes, but is not limited to, services contributed by vendors and founders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueIssuedForServices</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>72
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757260023920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF DISTRIBUTIONS (Details) - USD ($)<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, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [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_MinorityInterest', window );">Distribution to noncontrolling interests, Beginning balance</a></td>
<td class="nump">$ 3,065,716<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_NetIncomeLossAttributableToNoncontrollingInterest', window );">Non-controlling interest share of income</a></td>
<td class="nump">58,983<span></span>
</td>
<td class="nump">$ 80,125<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Distribution to noncontrolling interests, Ending balance</a></td>
<td class="nump">3,124,699<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,065,716<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_OwnershipAxis=FSI_ENPInvestmentsLLCMember', window );">ENP Investments, LLC [Member] | Ownership Interest Purchase Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [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_MinorityInterest', window );">Distribution to noncontrolling interests, Beginning balance</a></td>
<td class="nump">2,901,199<span></span>
</td>
<td class="nump">$ 2,605,034<span></span>
</td>
<td class="nump">2,605,034<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders', window );">Distribution</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(719,439)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest', window );">Non-controlling interest share of income</a></td>
<td class="nump">80,460<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,015,604<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Distribution to noncontrolling interests, Ending balance</a></td>
<td class="nump">$ 2,981,659<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,901,199<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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems</td>
</tr>
<tr>
<td style="padding-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_MinorityInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Decrease in noncontrolling interest balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_NetIncomeLossAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Net Income (Loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_srt_OwnershipAxis=FSI_ENPInvestmentsLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OwnershipAxis=FSI_ENPInvestmentsLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TypeOfArrangementAxis=FSI_OwnershipInterestPurchaseAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TypeOfArrangementAxis=FSI_OwnershipInterestPurchaseAgreementMember</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>73
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757155831296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details) - USD ($)<br></strong></div></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>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [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_MinorityInterest', window );">Distribution to noncontrolling interests, Beginning balance</a></td>
<td class="nump">$ 3,065,716<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Distribution to noncontrolling interests, Ending balance</a></td>
<td class="nump">3,124,699<span></span>
</td>
<td class="nump">$ 3,065,716<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_OwnershipAxis=FSI_MendotaLLCMember', window );">317 Mendota LLC [Member] | Ownership Interest Purchase Agreement [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [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_MinorityInterest', window );">Distribution to noncontrolling interests, Beginning balance</a></td>
<td class="nump">164,517<span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates', window );">Distribution to noncontrolling interests, Acquisition</a></td>
<td class="text">&#160;<span></span>
</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_NoncontrollingInterestDecreaseFromDeconsolidation', window );">Distribution to noncontrolling interests, Non-controlling interest share of loss</a></td>
<td class="num">(21,477)<span></span>
</td>
<td class="num">(35,483)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Distribution to noncontrolling interests, Ending balance</a></td>
<td class="nump">$ 143,040<span></span>
</td>
<td class="nump">$ 164,517<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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems</td>
</tr>
<tr>
<td style="padding-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_MinorityInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_NoncontrollingInterestDecreaseFromDeconsolidation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the reduction or elimination during the period of a noncontrolling interest resulting from the parent's loss of control and deconsolidation of the entity in which one or more outside parties had a noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(2)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PaymentsToAcquireBusinessesAndInterestInAffiliates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 a controlling interest in another entity or an entity that is related to it but not strictly controlled (for example, an unconsolidated subsidiary, affiliate, joint venture or equity method investment).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OwnershipAxis=FSI_MendotaLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OwnershipAxis=FSI_MendotaLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TypeOfArrangementAxis=FSI_OwnershipInterestPurchaseAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TypeOfArrangementAxis=FSI_OwnershipInterestPurchaseAgreementMember</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>74
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757160639280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NON-CONTROLLING INTERESTS (Details Narrative) - USD ($)<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, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [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_AccountsReceivableNetCurrent', window );">Accounts receivable</a></td>
<td class="nump">$ 12,992,543<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,843,056<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_OwnershipAxis=FSI_ENPInvestmentsLLCMember', window );">ENP Investments, LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate</a></td>
<td class="nump">65.00%<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_MinorityInterestOwnershipPercentageByParent', window );">Related party owner ship percentage</a></td>
<td class="nump">35.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToMinorityShareholders', window );">Partnership distribution to non-controlling interest</a></td>
<td class="nump">$ 3,225,957<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_Revenues', window );">Sales</a></td>
<td class="nump">1,291,426<span></span>
</td>
<td class="nump">$ 1,098,948<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable</a></td>
<td class="nump">$ 5,381,282<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,225,028<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_OwnershipAxis=FSI_MendotaLLCMember', window );">317 Mendota LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest', window );">Subsidiary company ownership interest rate</a></td>
<td class="nump">80.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80.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_MinorityInterestOwnershipPercentageByParent', window );">Related party owner ship percentage</a></td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems</td>
</tr>
<tr>
<td style="padding-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_MinorityInterestOwnershipPercentageByParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 parent entity's interest in net assets of the subsidiary, expressed as a percentage.</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_MinorityInterestOwnershipPercentageByParent</td>
</tr>
<tr>
<td style="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_PaymentsToMinorityShareholders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 to a noncontrolling interest. Includes, but not limited to, reduction of noncontrolling interest ownership. Excludes dividends paid to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToMinorityShareholders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 units or percentage investment held in the subsidiary by the limited liability company or limited partnership.</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_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_OwnershipAxis=FSI_ENPInvestmentsLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OwnershipAxis=FSI_ENPInvestmentsLLCMember</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_OwnershipAxis=FSI_MendotaLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OwnershipAxis=FSI_MendotaLLCMember</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>75
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757158731152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF REPORTABLE SEGMENTS (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</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_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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">$ 9,224,872<span></span>
</td>
<td class="nump">$ 9,847,517<span></span>
</td>
</tr>
<tr class="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">175,266<span></span>
</td>
<td class="nump">134,870<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="nump">264,178<span></span>
</td>
<td class="nump">299,777<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Segment profit</a></td>
<td class="nump">457,226<span></span>
</td>
<td class="nump">884,369<span></span>
</td>
</tr>
<tr class="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 );">Expenditures for segment assets</a></td>
<td class="num">(478,123)<span></span>
</td>
<td class="num">(213,060)<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_StatementBusinessSegmentsAxis=FSI_SegmentMember', window );">Segment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">9,224,872<span></span>
</td>
<td class="nump">9,847,517<span></span>
</td>
</tr>
<tr class="ro">
<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">175,266<span></span>
</td>
<td class="nump">134,870<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationNonproduction', window );">Depreciation</a></td>
<td class="nump">422,669<span></span>
</td>
<td class="nump">365,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_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="nump">264,178<span></span>
</td>
<td class="nump">299,777<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Segment profit</a></td>
<td class="nump">457,225<span></span>
</td>
<td class="nump">964,494<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_FSI_SegmentAssets', window );">Segment assets</a></td>
<td class="nump">57,561,387<span></span>
</td>
<td class="nump">52,938,048<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Expenditures for segment assets</a></td>
<td class="num">(477,350)<span></span>
</td>
<td class="num">(213,060)<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=FSI_EWCPMember', window );">EWCP [Member] | Segment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">41,608<span></span>
</td>
<td class="nump">80,660<span></span>
</td>
</tr>
<tr class="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="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationNonproduction', window );">Depreciation</a></td>
<td class="nump">3,883<span></span>
</td>
<td class="nump">4,279<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="nump">34,940<span></span>
</td>
<td class="nump">915<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Segment profit</a></td>
<td class="nump">18,540<span></span>
</td>
<td class="num">(151,728)<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_FSI_SegmentAssets', window );">Segment assets</a></td>
<td class="nump">3,664,387<span></span>
</td>
<td class="nump">2,858,968<span></span>
</td>
</tr>
<tr class="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 );">Expenditures for segment assets</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=FSI_BCPAMember', window );">BCPA [Member] | Segment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">9,183,264<span></span>
</td>
<td class="nump">9,776,857<span></span>
</td>
</tr>
<tr class="ro">
<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">175,266<span></span>
</td>
<td class="nump">134,870<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationNonproduction', window );">Depreciation</a></td>
<td class="nump">418,786<span></span>
</td>
<td class="nump">360,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_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="nump">229,238<span></span>
</td>
<td class="nump">298,862<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Segment profit</a></td>
<td class="nump">438,685<span></span>
</td>
<td class="nump">1,116,222<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_FSI_SegmentAssets', window );">Segment assets</a></td>
<td class="nump">53,897,000<span></span>
</td>
<td class="nump">50,079,080<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Expenditures for segment assets</a></td>
<td class="num">$ (477,350)<span></span>
</td>
<td class="num">$ (213,060)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_SegmentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Segment assets.</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;">FSI_SegmentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_DepreciationNonproduction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense recognized in the current period that allocates the cost of nonproduction tangible assets over their useful lives.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationNonproduction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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 interest expense classified as operating and nonoperating. Includes, but is not limited to, cost of borrowing 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> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-24<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483013/835-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=FSI_SegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=FSI_SegmentMember</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=FSI_EWCPMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_EWCPMember</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=FSI_BCPAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_BCPAMember</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>76
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757254469952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total</a></td>
<td class="nump">$ 9,224,872<span></span>
</td>
<td class="nump">$ 9,847,517<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=country_CA', window );">CANADA</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total</a></td>
<td class="nump">88,478<span></span>
</td>
<td class="nump">116,680<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=FSI_UnitedStatesandAbroadMember', window );">United States and Abroad [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total</a></td>
<td class="nump">$ 9,136,394<span></span>
</td>
<td class="nump">$ 9,730,837<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-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_StatementGeographicalAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=country_CA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=FSI_UnitedStatesandAbroadMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_UnitedStatesandAbroadMember</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>77
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757254768560">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total</a></td>
<td class="nump">$ 18,041,515<span></span>
</td>
<td class="nump">$ 18,101,355<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=country_CA', window );">CANADA</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total</a></td>
<td class="nump">135,299<span></span>
</td>
<td class="nump">142,577<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=country_US', window );">UNITED STATES</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Total</a></td>
<td class="nump">$ 17,906,216<span></span>
</td>
<td class="nump">$ 17,958,778<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_NoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-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_StatementGeographicalAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=country_CA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=country_US</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>78
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757254719088">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Mar. 31, 2024 </div>
<div>USD ($) </div>
<div>Segments</div>
</th>
<th class="th">
<div>Mar. 31, 2023 </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_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Revenue, Major 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_NumberOfOperatingSegments', window );">Number of operating segments | Segments</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable [Member] | Three Customers [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EntityWideRevenueMajorCustomerLineItems', window );"><strong>Revenue, Major 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_AccountsReceivableNet', window );">Accounts receivable, after allowance for credit loss | $</a></td>
<td class="nump">$ 5,106,905<span></span>
</td>
<td class="nump">$ 4,366,106<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_FSI_StockOptionExercisePercent', window );">Stock option exercise percent</a></td>
<td class="nump">55.00%<span></span>
</td>
<td class="nump">44.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_FSI_StockOptionExercisePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stock option exercise 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;">FSI_StockOptionExercisePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>FSI_</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_AccountsReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477802/946-310-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(5)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479196/954-310-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EntityWideRevenueMajorCustomerLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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_EntityWideRevenueMajorCustomerLineItems</td>
</tr>
<tr>
<td style="padding-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_NumberOfOperatingSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning 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> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfOperatingSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_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=FSI_ThreeCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=FSI_ThreeCustomersMember</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>79
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm139757160104752">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SUBSEQUENT EVENTS (Details Narrative) - $ / shares<br></strong></div></th>
<th class="th"><div>Apr. 30, 2024</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_SubsequentEventLineItems', window );"><strong>Subsequent Event [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_DividendsPayableAmountPerShare', window );">Dividends per share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.05<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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent Event [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventLineItems', window );"><strong>Subsequent Event [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_DividendsPayableAmountPerShare', window );">Dividends per share</a></td>
<td class="nump">$ 0.10<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_DividendsPayableAmountPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 per share amount of a dividend declared, but not paid, as of the financial reporting date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableAmountPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483399/855-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventLineItems</td>
</tr>
<tr>
<td style="padding-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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>80
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( *:&KU@'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    " "FAJ]8$TSR[^\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+!
M3L,P#(9?!>7>NLDHAZC+91,GD)"8!.(6)=X6K4FCQ*C=V].6K1."!^ 8^\_G
MSY(;$Z7I$KZD+F(BA_EN\&W(TL0U.Q)%"9#-$;W.Y9@(8W/?):]I?*8#1&U.
M^H @JNH!/)*VFC1,P"(N1*8::Z1)J*E+%[PU"SY^IG:&60/8HL= &7C)@:EI
M8CP/;0,WP 0C3#Y_%] NQ+GZ)W;N +LDA^R65-_W9;^:<^,.'-Z?GU[G=0L7
M,NE@</R5G:1SQ#6[3GY;;;:[1Z9$)>Z+JBYXO1.5K(6L^<?D^L/O)NP[Z_;N
M'QM?!54#O^Y"?0%02P,$%     @ IH:O6)E<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!3+
MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,!
M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K
MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2
MBW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>A(5M>5 TR
M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$
MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;YH]
M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M
MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.FJW"$2M"/F(9
M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+
MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T
M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+
M.7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&Y
M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_#
M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0
MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR
ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC
MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(JP# 4A
M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF
M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_
M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]!
MU4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
M" "FAJ]8&!GH@MP%  "?'P  &    'AL+W=O<FMS:&5E=',O<VAE970Q+GAM
M;+69[W/:-AS&W_>OT+&[77L78DL&$CK"'7%)QRTA::!;N]U>"%N K[;%9!G"
M?S_)!IMF\A?&U7W16+:?!WWTPWIL]39<?$N6C$GT$H5Q<M-82KEZ;UF)MV01
M32[YBL7JRIR+B$I5% LK60E&_4P4A1:Q[8X5T2!N]'O9N2?1[_%4AD',G@1*
MTBBB8GO+0KZY:>#&_L1SL%A*?<+J]U9TP29,?EX]"56R"A<_B%B<!#Q&@LUO
M&@/\WG4<+<CN^#U@F^3@&&F4&>??=&'DWS1L72,6,D]J"ZK^K)G+PE [J7K\
MLS-M%+^IA8?'>_>[#%[!S&C"7![^$?AR>=.X;B"?S6D:RF>^^97M@-K:S^-A
MDOV/-OF]K58#>6DB>;03JQI$09S_I2^[AC@0.-<5 K(3D%<"[%0(G)T@:SDK
MKUF&]8%*VN\)OD%"WZW<]$'6-IE:T02Q[L:)%.IJH'2R[_(U$ZB)DB45+.E9
M4GGJ*Y:WT]_F>E*A=] #C^4R0</89_[W>DO5I:@0V5?HEH"&#U1<(@=?(&*3
MEJ$^[C'Y%N&V2?U=;9RB>9S,S@&;YZ_!+)%"C;B_30V4.[3,#GH:OD]6U&,W
M#37/$B;6K-'_^2?<L7\QT?T@L^]@6P5L"W+O?^!>JF:H1-/MBIE(83FVFY],
M2*#J3*1V@=0&ZS10/'[&=!?2A8D)UL]IF)B:P@5E9T)U"JC.:?WT*:5",A%N
MT3-;<2%-?+"5%*D1#U2=B7=5X%V=. P%5<M%]K2OYH.]*OL/E)T)>%T 7I\&
M^,1$P'W]Z$3JX6V<<K!3\;"L?%J"^C,YNP5G]S3.NR#Q:+C'O5.GC2L-[/8)
MF_A S9E\V"X73_M_$7YE5%3S'3&KZD)8=B[C04# 8+7<5(C7B-"(/6+7;&+2
M=(Q]"2O/!24E* %K-HQE(+>*,V1HG$8S)HQXL(EM8T77;ME&0%![+F"993"8
M'O: SVP1Z#BC^G1,(W,?PD9W]\,OH]O[X9O)X_WGZ>AQ/$&C\73X/![HPN!>
ME=Q+8P/4$6]PF6\PG%!V#>"JX2S44!ZIR/J"?F-;8Q/ 5K;J:+O3=;KF*5M'
MYL%EZ,%P:MEQ3ND+&OD*-I@''LW646!<PY97N(D[CGU]W37RUA&'<)F',)QB
M=KRCV.-"Y80,]0)-I'I"(2Z0RU/5X:K?N6\>[;#[P#R7ZXA(N,Q(& XV.^2!
M[ROWY&)_@.[5?>@Q-G/"EATUI-\@]:_=0H,U,T_@.G(3+H,3AO/.:VI7EU0/
M3_DF-A+#=E-JG@PNK#L7L\Q-&(XZKS&+D?PD^#J(/7/OPIZ#6R-H'?F)E/F)
MP)'G/_V9SU03WA$G=V#\5E!'=")E=")PUGF-]\03J=:=/X-5Y;/HB.,4?\RF
M*/YB_C921X(B98(B</C)IN- ,%J-!QN\;=G..R-8'<F)E,F)P('GGF?O+TL>
M0]'PB DA3I-TNVTC7QW!B)3!B,!I9AI(%7KY'&'R=O8.39B7"M671DC8R>51
MQ.-LC$XD][X98>M(1Z1,1P2.,E-!_2!>H,DVFO'0R @;W$U&1JPZ0A I0Q"!
M8\J^T]#PQ5O2>,$JT_T1H_'7R7#P,'PV,M:1>DB9>LA)J6?_2II_%<KZ4JV0
MYI?N(XY?C1^]75AU+F>9<\A).6<42R;RC0[]NDWWX$9.V+&*LXZ@0\J@0TX*
M.OJ56\5T%7(6O&+UAWW&/&Y2SV/*1IGXN:&1MXZ\XY1YQSDI[TPB&H;H-DW4
MY<0X:H_X5'VVA67GXI5YQSDI[PPC)A9Z5GY4#G*IPD"THK&Q7X\85GZ^A77G
M@I9!QSGI4]%DR50_0GBP335>'7''.=CT.NE#4;Z6Y^NX>@G)=@C18RI5B(WU
M"FHD_K&[8;E;.W/3.]+K/B:MMMUV2,]:'S):!UN@>OAE.\,)\O0+1;X;6IPM
M=I\'V9ZK5=Z>;UT_4#UZ$Q2RN9+:EU?JYT6^&YP7)%]E&ZHS+B6/LL,EHSX3
M^@9U?<ZYW!?T#Q1[\OU_ 5!+ P04    " "FAJ]8M\Q8:/4&   ;'@  &
M 'AL+W=O<FMS:&5E=',O<VAE970R+GAM;*V9VV[;.!"&7T7P+HHND-8\B#JT
MB8$VW4.!M!LTV]UKQF9BH9+H4K23O/T.94>RQ1&=%,U%:]DSU#_4<+XA=7JG
MS;=FJ92-[JNR;LXF2VM7;Z;39KY4E6Q>ZY6JX9<;;2IIX=+<3IN547+1.E7E
ME!&23"M9U)/9:?O=I9F=ZK4MBUI=FJA95Y4T#^]5J>_.)G3R^,67XG9IW1?3
MV>E*WJHK9;^N+@U<3;M1%D6EZJ;0=634S=GD'7USSC/GT%K\6ZB[9N]SY$*Y
MUOJ;N_BX.)L0ITB5:F[=$!+^VZAS599N)-#Q?3?HI+NG<]S__#CZ'VWP$,RU
M;-2Y+O\K%G9Y-LDFT4+=R'5IO^B[O]0N(.'&F^NR:?^-[K:V(IE$\W5C=;5S
M!@5546__E_>[B=ASH/&( ]LYL*<Z\)T#;P/=*FO#^B"MG)T:?1<99PVCN0_M
MW+3>$$U1N\=X90W\6H"?G9WK>@$/12VBC[55IJ@B^*;19;&0%KY\+TM9SU5T
MY6[01*^BKU<?HI>__G8ZM7!S-\1TOKO1^^V-V,B-/DGS.N+T)&*$Q8C[>=C]
M@YIW[OS0?0HA=W&S+F[6CL?'XEX;HVJ+Q;%UC'%'MZS>-"LY5V<36#>-,ALU
MF;WXA2;D+1;53QKL($;>Q<A#H\_.9;/$ MQZ):V76^:;F>"$Y0(>RV9?.V)'
M:"HRWMD=R(H[67%0UC_*5+#25KHI(*5>?M9610S-J.TX8D\ Z.2I2 ="?3N6
MY)!F%!<J.J$B*/3=?*[7-6@T:JZ*C;PNU4E40VG=:HY1S<+30EF>,Q'S@6C?
M,,]B3D2"BTXZT4E0],=Z WFM3:$>YU:@.A-?)XD%"$T&.A%#2GF<93DN-.V$
MID&AET:M9+&(U/W*%: FDO6B2PM,<>H)26,:YV*@US>C(B8Y&\G:K).;A;-6
M6UE"16[+1B2;1N$J,S]GF0"HDJ%.Q) PEB0YPX7FG=#\R+P"XXU].(G4]W6Q
MJEJY,+6E MHM=;EH]I,X09,C]^>0LR1E,1D$@1G2E*99B@=!2<\E$@RC;2@B
M?1.M&[6;[IUDCM,G.!Q>:2.40P1)>,'RD?RA>Z2E1U:FE?5M 57D,)X4CX?Z
M10WF'_X&CP US X,#P7WB*1!.LTN='T;6:1:9[ABY@G)8B+V\GDG&+%C,=O#
MSZ'>'G<TS#M7^AKK$OY1:(X+Y9X  >6,)G2HU#=,".=Y,C:U/0)IF(%_:KVX
M*\HRG ((UP2/63HL)4\P/-39$Y"&$?A!W2BH>(O(ROMMU@:!37VHL2Q.\V%G
M<=SN4&\//QJFW[9*OQNMSM2GF8!^(B')L*? +$6<4B+&)K4''TU_M/>D068^
MM_G\6:,=QMD3DX:1V?5/*_G@FB<T8!^#E.=I3KT<1PRA81)CN*0]+VD8F"#3
MK"'%RT)>%V5AH7-"E?JL2_+<YSIB![D-6,1ULIZ(+$S$;BT:!2W>&IU.AL"+
MTXP-LQNSBS,V-IFLAQP[!KFYKI0K%RKXW)E/K3B-<YX/:S!F&&>"T1$>L[T=
M8!AO5TMM[)9O[B?7:\QA>HO'$D<)6N.8CR_H\/*<#Q,!,:09--GI2./,>M"Q
M(QN[71>Z@@#<60@H;[N[+H4?@JU2>/1GM$H, 6D.S>Y(?#T=69B.6'Q[O<AU
M]X0H'I^/0YHD(O:Z5\R0933A8\N@YR8+<_-PMW"DLC!DSTASP@4=[ADQ2ZA
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
M"GU&./TG81$3B)[KUS?G 3G\,/R\[X][^ML/VF&8R7^OEIW1L+C_APW6T)G
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
M)+!RJKO#[5ZTW+77H'=2:UFUCUO."JZ, /R^D5*_O)@)^IOTU>]02P,$%
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
M>8Y9M"8_0')86EH--M^9P+!M1^3)P7R19")P8U=T.+&Q(2K!AT)<-F"8;7?
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
M.G%M3B$L1<"2I&1#!9)@N$J*U&5RAJI1";HI9MH[)%#9.D?V]W#*$@!4B$H
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
MR)(2)#(_#()+7S NO4&OC,WTH*<*FW&),PVF$(+IW1 SM>U[+>\0>.+KU+J
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
M6,B@4W0]%@^.CH][$83N3'S'#%B4D23.@&%L6)!"1Z!X>VZ"\6$AB1D2CLF
MIL@P#BVO"$=1&A.:(=>EY<JB ]>$9%D"35DA"PO/!NQD--(>1A ++E^W%4?:
M(.VXM@'(<5J5O,D%WDQF[7Q=26XWOHL&XZA[<#OY.)M^O9S!]0>XO!Y=P>3Z
MV^QJ=#6_]29X.Y3-UH;U\4$P%;FH%Y@GAY70&_/*GD/@-]YL\0\!%-Y"1BB-
M,'X)CA-"XX@$:?H@NA"KLFG*9F63$4->RN)9I9MJJ\_@1LE<",RXI9*U,T5#
MG)*,)NB:)$OP8=ZET%9TG^<NK9S-'9I9WR?0A4[*8DR4$+H/9 3FXBF-E P0
M+W,T'B@=O>6AMZZ_SF_GHZOI)ZS0\>AR=#69.0]ZUUNC#>:VM6RQQ_]O!_(N
M7$I4P/*I\=>$%]^[-QFC]/VC2AOSY@[>\7KS'N8*_S!([ECL;X_E[BU>!_53
M]7CYZX">J!^O>"74X[KRQ.M@GB@W;_E:XWXJ1L_B_/* \Y Z;>(<DA(O27O7
MP09O0-O7="A)DIA$46"SDA*6X0+>-MU_0S8H?%2V91$R2C#P;IRA:2&:]M1O
MK'_27=1"K5P/I;'^\=+?-QKM:MNFC?;=R8/XOL?##,9RU5")):H&O33V0>W[
MIOW$R(WK51;28.?CAFML-86R KB_E-(<)_: MGD=_@-02P,$%     @ IH:O
M6*L(Q1R0!0  .0P  !D   !X;"]W;W)K<VAE971S+W-H965T,3@N>&ULA5?;
M;MLX$'W75PS<;M$"CJV;93L7 XZ3;HUMFZ!.TH?%/M#26"8BB2I)Q<E^_0XI
M6;;3)(L@$47.')ZY:G*Z$?)>K1$U/.99H<XZ:ZW+XWY?Q6O,F>J)$@LZ60F9
M,TVO,NVK4B)+K%*>]7W7C?HYXT5G<FKWKN7D5%0ZXP5>2U!5GC/Y=(Z9V)QU
MO,YVXP=/U]IL]">G)4MQ@?JVO);TUF]1$IYCH;@H0.+JK#/UCL]#(V\%[CAN
MU-X:C"5+(>[-RSPYZ[B&$&88:X/ Z/& ,\PR T0T?C68G?9*H[B_WJ)_MK:3
M+4NF<":RGSS1Z[/.J ,)KEB5Z1]B\P4;>P8&+Q:9LG]A4\N&00?B2FF1-\K$
M(.=%_62/C1_V%$;N*PI^H^!;WO5%EN4%TVQR*L4&I)$F-+.PIEIM(L<+$Y2%
MEG3*24]/%C=7L[_@ZOIF?O5]<=K7!&D.^G&C?EZK^Z^H!_!-%'JMX+)(,#G4
M[Q.5EH^_Y7/NOPGXC<D>!%X7?-</W\ +6OL"BQ>\9M^:23PZI[@E<,V>*)TT
M3*5D18IV_?=TJ;2DW/CG)>-K[/!E;%,OQZID,9YUJ" 4R@?L3#Z\\R+WY WF
M8<L\? O]_R/SIOK+Y#R_YQS@PLT:G9G(2U8\P9HI8$ I%]^#*&W1E!DKX..'
M=R/?=T^NZ<4NO9-//:,)925+H1#$"O2:*S 20$\MH)3B@2<(+$FX@6(9\"(F
MEU,16H%[? +,RTP\(:JN(U8K'J-474BXI)(5DL@4"<2B4%1AK-"JO@9AR]<<
M<]I6U5+QA#/)"9D7(&2"TERQQJP$IFU\K;1$37W*@BQ1T=X#XQE;9F0)72V*
M C.'&AV049:TO9*\5]*2+WG&=7VK( 2YX60YF9D+C19257&,ZCE-XS%O>*)@
M62F*D5(]F&OC)%YH-%5#PDPW#J==I2I,G*JP-K1.-6[07%=T52&*HU\5R_B*
MD_)^N%0=E10+E.1OC3*W;-B&R43!%A,/HDOU43/P7!<&]&-28B4R:M>\2$%;
M]]0]F_]K0O>":0<Y8QLMN8]DC2^-_!,R";6Q%QACOB0>39$'UJ%&2*\EXE%N
M^HD)!Q>)4ZM03XC7;5,XAL7LR^7%[==+N/H,^]D,T]G-_&Y^,[]<.-\K>PD9
MKTP'H ;UB#*N(T9Y9BZH3^"G;=QT#7L@KZ4(>"#IG#/R4HS=WYC[X'6C4=1U
MR6_OP>L-70A[7D#KH.='SLQH91D!DQ/PL:2L3N#C( JMPB<K%D8[E<' V7(D
MN5$K98'KQ^M< N+B>>&.RX 0(\\">X'S)S4\8^)XX#8B?J]]O,+4<X-]#BT@
MJ43[3+W!H5C]V%$]C![Q'(?1/HD6-FH=8%+N-\51:]ZAVBBR&;MIPGBT#:-$
M,Y.8%*;:L2V :@:H:FR[HOE$45-)S/FN] AUV!0 XQ(>6%99:63$I$GOU/C2
MR,8LBZN,&;^:RDYM$N\*9_,\KQA5=EY?M<MAYWD.?Y[.?\#=].OM)4P7B]MO
M=9]VC O(/25U1H*T5MCJ\TYL<1GFKC.G($O3UR2QHIW1.*#\HD3]P[D3Q+1N
M8(-Q;^A#Y/:" 1W\EOZ'EF]]DS89]![<WM S?\9P44DRU&EK%_)Z%GBI:KL'
MG7N+-J@SH> 9C"DOZI7YC?RN'WHP&H>M@#<>4[D-[3H,NL. <L ?=8?1&)H4
M-">C=C55]$UYB075_,9\Z4KJW8^<!CO,GL@N^JYU1U2+?B^P&<#25&)J'$F-
MF@Q5/-ZYA;YAAO_6._O91)WT6>92KKRO38B\;DB\A[X+GM<=T..E0:&_-\[E
M*%,[M%*^B:K0]637[K9S\;0>!W?B]5!-3%*B#AFN2)6B-NB K ?5^D6+T@Z'
M2Z%IU+3+-<WV*(T G:\$?=V:%W-!^]_"Y#]02P,$%     @ IH:O6.H1)Z!;
M @  : 4  !D   !X;"]W;W)K<VAE971S+W-H965T,3DN>&ULE531;ML@%'WO
M5UQYTYZB&-M)6W6)I23MM*JK%K7=]C#M@=@W,:H-+N"D_?M=<.*E6III+\"%
M<P[G I?11NE'4R!:>*Y*:<9!86U]$88F*[#BIJ]JE+2R5+KBED*]"DVMD>>>
M5)5AS-AI6'$A@W3DY^8Z':G&ED+B7(-IJHKKERF6:C,.HF W<2=6A74383JJ
M^0KOT7ZKYYJBL%/)1872""5!XW(<3**+Z<#A/>"[P(W9&X/+9*'4HPNN\W'
MG"$L,;-.@5.WQAF6I1,B&T];S:#;TA'WQSOU3SYWRF7!#<Y4^4/DMA@'YP'D
MN.1-:>_4YC-N\QDZO4R5QK>P:;$1@;/&6%5MR>2@$K+M^?/V'/8(Y^P-0KPE
MQ-YWNY%W><DM3T=:;4 [-*FY@4_5L\F<D.Y2[JVF54$\F\XF\^N'R1>X?_@Z
MNQF%EB3=0IAMZ=.6'K]!3^!625L8N)(YYJ_Y(5GI_,0[/]/XJ. MUWU(HA[$
M+!X<T4NZ_!*OE[RA=_74"/L"/R<+8S4]@5^'<FPE!H<E7%E<F)IG. [HW1O4
M:PS2#^^B4_;QB,%!9W!P3/W?%W"4?MA<E/1/7NG"9:.%7)W8 L$6&A&J]MK0
M71O0H6=%=^H]B(8]QAB<^_8_J$D/'&RFJIK+%Q#&- 2)>O%9#(,>.^O$_L9R
M*54C,X)S,#5F@I>0B[7(:1M02W@/K,^&<.C P[W77Z%>^1HWD)&>;0NAF^V^
MD4E;/7_@[1]$V:R$-%#BDJBL?S8,0+=UW096U;Z6%LI29?IA05\A:@>@]:52
M=A>X#;K/-?T-4$L#!!0    ( *:&KUC$+EE+V@0  /<*   9    >&PO=V]R
M:W-H965T<R]S:&5E=#(P+GAM;)566V_B.!1^SZ\X8D:CCI1";E#H!8D"W4%J
MH5OH[L-J'TQR0JQ)8L9V2OOO]]BAE,ZVJ'T!._;YSG>N/N<;(7^J#%'#8Y&7
MZJ*1:;T^;;54G&'!5%.LL:235,B":=K*54NM);+$"A5Y*_"\3JM@O&STS^VW
M6]D_%Y7.>8FW$E15%$P^76(N-A<-O_'\X8ZO,FT^M/KG:[;".>K[]:VD76N'
MDO "2\5%"1+3B\; /[V,S'U[X2^.&[6W!F/)4HB?9C-)+AJ>(80YQMH@,/I[
MP"'FN0$B&K^VF(V=2B.XOWY&O[*VDRU+IG H\K]YHK.+1K<!"::LRO6=V/S
MK3UM@Q>+7-E?V-1WPW8#XDII46R%B4'!R_J?/6[]L"?0]=X1"+8"@>5=*[(L
M1TRS_KD4&Y#F-J&9A3752A,Y7IJ@S+6D4TYRNC^=38^'L^GB;G9]/9G^ 9/I
M8GPWGB_FYRU-\.92*]Y"7=90P3M0(=R(4F<*QF6"R6OY%M':<0N>N5T&!P%O
MF&Q"Z+L0>$%T "_<V1I:O/ ]6T49$T,I<CI9P:34*%%I^&>P5%I2?OS[EM$U
M9O0VIJF94[5F,5XTJ"@4R@=L]+]]\3O>V0'&T8YQ= C]<]$Y"/4V43]J.N_J
M@"-@\-T93V_)50_D**I%K8 K^ISS@FM,Z)\M><[U$\1"KH5DIM2<HV]?ND'@
MG5U?#^W*/_L..F.:$K>L4G)T10R E0DDG#S/EY6F_4KDJ0MTEMHC(4MF-+(<
MV$KRF,J,Q& M15+%AD<)-U@F0C,7)B:B@JLF+#*$H2C6K'QRQ*8T7#MM"-M
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
M9PK/0YRC>N&YV.I1M&O9E>3FU;][TS*)@=87R>XZ_@C8.:C<=!$*(7?$L=F
M,(2W7DG-HS<OJIO;E[T"J[)^_AYV#W\>VO6;^?EX_<\# 9KSRES-,Q1USY.H
M46=XO]!B95_04Z'1=SM=X!\@)LT!_#X3>$_N%L; X2_5]=]02P,$%     @
MIH:O6+_7_BM' @  *04  !D   !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL
MC511;]HP$'[OKSBY4I\F$@*E50N1@)6-!S0$:_=LD@NQFMB9?2GMOY_MA(Q)
M%.TE]MGW??>=<W?C@]*O)D<D>"\+:28L)ZH>@L D.9;<]%2%TMYD2I><K*GW
M@:DT\M2#RB*(PG 4E%Q(%H_]V5K'8U53(22N-9BZ++G^F&&A#A/69\>#C=CG
MY Z">%SQ/6Z1GJNUME;0L:2B1&F$DJ QF[!I_V$V=/[>X47@P9SLP66R4^K5
M&<MTPD(G" M,R#%PN[SA'(O"$5D9OUM.UH5TP-/]D7WA<[>Y[+C!N2I^B93R
M";MGD&+&ZX(VZO =VWQN'5^B"N._<&A\HY!!4AM290NV"DHAFY6_M^]P KC_
M#!"U@,CK;@)YE5\Y\7BLU0&T\[9L;N-3]6@K3DCW4[:D[:VP.(KG/U;KZ6;Z
M<_GR!(OEM^?-TW8<D"5VUT'2DLP:DN@3D@&LE*3<P)-,,?T7'UA!G:KHJ&H6
M721<<=V#0?\+1&$TO, WZ+(<>+[!9UFJLN*:NP* A=C7&LVY+!N2X7D2UQX/
MIN()3IBM?X/Z#5E\<]T?A8\7) X[B<-+[/_[(RZ2G)?8'_6NSK!##^:HR?;M
ME<J <H3DY)6RYI4@Y];8(;H.3 INC,@$ID#*>DLW$VR]4M[ :ZU1$E2HA4IO
MKN^C_MVC 2]$$G=-V(-S+Q6<E&^)>N^;U-@ M:2FDKO3;@Y,F_+_Z]X,$5LX
M>R$-%)A9:-B[NV6@F\9L#%*5;X:=(MM:?IO;68;:.=C[3"DZ&BY -QWC/U!+
M P04    " "FAJ]8;Q6\1S<"  #C!   &0   'AL+W=O<FMS:&5E=',O<VAE
M970R,RYX;6R-E$USVC 0AN_Y%3MJIZ<,-H9\E&+/ *73'-*AH:2'3@_"7F--
M9,F19)S\^T@RN'0*3"^R5MI]]*ZUJW$CU9,N$ V\E%SHF!3&5*,@T&F!)=4]
M6:&P.[E4)3765)M 5PIIYH-*'D1A>!V4E F2C/W:0B5C61O.!"X4Z+HLJ7J=
M(I=-3/IDO_# -H5Q"T$RKN@&EVA6U4)9*^@H&2M1:"8%*,QC,NF/ID/G[QT>
M&3;Z8 XND[643\ZXRV(2.D'(,36.0.UGBS/DW(&LC.<=DW1'NL##^9[^Q>=N
M<UE3C3/)?[+,%#&Y)9!A3FMN'F3S%7?Y7#E>*KGV(S2M;_210%IK(\M=L%50
M,M%^Z<ON/QP$W(8G J)=0.1UMP=YE9^IH<E8R0:4\[8T-_&I^F@KC@EW*4NC
M["ZS<299KJ;+^??5_-L/F#_:<3D.C,6ZS2#=(:8M(CJ!&,"]%*;0,!<99G_'
M!U9.IRG::YI&9X'W5/5@T+^$*(R&9WB#+L>!YPU.Y5BO-3[7* S,MW;4\&NR
MUD;9BOA]+-V6-CQ.<UTRTA5-,2:V#32J+9+DP[O^=?CIC-9AIW5XCOY_]W$>
MT;_I7?R#@3MQ,:D4X_ZG7H(I$&:RK*AX!2J$K$6*&5#0%::,<LC8EF4H,I Y
MO(>PUP^/)1<<%%Z):N/;2T-J<::MP6ZUZ^!)6[A_W-OVMY>^84(#Q]R&AKV;
M*P*J;:G6,++R9;R6QC:%GQ;V%4+E'.Q^+J79&^Z [EU+W@!02P,$%     @
MIH:O6$-.";2/'0  .5T  !D   !X;"]W;W)K<VAE971S+W-H965T,C0N>&UL
MK3S;<MM&LN_S%5/*[I94!=$D=;$<)ZZ2%3M1E1W[1/;NPZGS  )#$C$(,+B(
MYG[]Z=M< (*0U[55F[4(S/3T]/2]>_#3KJR^U&MC&OUUDQ?USR?KIMG^^.Q9
MG:S-)JXGY=84\&995INX@9_5ZEF]K4R<TJ1-_FP^G5X_V\19<?+J)WKVL7KU
M4]DV>5:8CY6NV\TFKO:O35[N?CZ9G=@'?V2K=8,/GKWZ:1NOS(-I/F\_5O#K
MF8.29AM3U%E9Z,HL?SZYG?WX>GZ!$VC$/S.SJX._-6YE499?\,=]^O/)%#$R
MN4D:!!'#/X_FSN0Y0@(\_A*@)VY-G!C^;:&_I<W#9A9Q;>[*_%]9VJQ_/KDY
MT:E9QFW>_%'N?C.RH2N$EY1Y3?^O=SSVZO)$)VW=E!N9#!ALLH+_C;\*(8()
M-],C$^8R84YX\T*$Y2]Q$[_ZJ2IWNL+1  W_H*W2;$ N*_!4'IH*WF8PKWGU
M</_K[_=O[^]N?_^D;^_N/GS^_=/][[_JCQ_>W=_=OWG0IQ_+/$LR4Y_]]*R!
M]7#6LT1@OV;8\R.P+_3[LFC6M7Y3I";MSG\&>#IDYQ;9U_-1@._C:J(O9I&>
M3^>7(_ NW.8O"-[%$7BW25*V19,5*VVWJ?_W=E$W%3#+_PUMF.%=#L-#"?JQ
MWL:)^?D$1*0VU:,Y>?6/'V;7TY<CV%XZ;"_'H+^ZB^NUCHM4TQ]O_FJSQS@W
M15,/(3H*:AC1T_A,'5U#?UH;=5=NMG&QUTD)4IF:JM9QGNLU,'Z^UWD&HU.=
M%8^F;C8T9]M6R1I$)@6F;A"N+JMLE15Q#G^ 3*/60.*#<+55UNQUN=2YJ6O=
MK&%LLZZ,T1MFH;B!WT:G<6,4C+*0=5/JA=$)8FL\MA/M-M)_I>,*@,+"#?QG
M,:O-HZD JR7@5B09_)45=9,U+6H.@'9;(VK ?LG:\1]!_\4D9K,PE7UZ$1&:
MEE I$*0H&[V.'XTFRAT@.L(85XXQKD89XY.I-H#)MJRS8688G7Z$&19GJ@.W
MPP! >J 5[*G!(:D= L?6].F[0';9;$R%9*U!@Q9?8-< # !4==.!H#, "YSQ
M-WU]<Q/-YM?Z<O)B>J-G5U-],;V(7EQ=ZMGD0C^?3Z,7-W-],9E.Z>4LFDZG
M^!\\NKGB\;-I=/WBBA^,$/G:$?EZE,CWP-=% _P+.H($I 3D@2D>X" 'B3X*
M[@C1DS,UNL[!(8B,Q'\"U9(\KFM#G)H)D/V/2/QM;AHXB559IG5$5A(&Z&U5
MKBH4-EREBG<HA::B0\(G=;O=YH#$1-\7).86?.815'C6=1,C=!%0L/(@#8!"
M0GA7N@#/ MR%//MWO,B-!KYOS81W!:>=&CQ_8A0TT<P3YUD1R5_@1Z#1A9$
M:D<F%M=":5T96D.A9]+F,6J" #7<89HMEZ:")["9!2BL+*YH0Y:D-9$T*Y*\
M30WK,O,5W)T4!+_B-VU5&=1I>E&!HD)=A9LD2N*"^&-; J\K 8?4$M(3=DQ+
M_JN_(N!7@6_BWR*T\" B&+D  Y7J945;UZ#SJI7!0P3*K\NV1HQH?@3L4*3
M92O%\$X!MLD><0"B( H3?I[1;]!L>=98)BN!H&OPZ7C_>,J5R>E899/"<__X
MX68^>_ZR!A2+=@E&LJW< E69 #?A3W@AP"?J89UMMW:,1='N0R^R/.=%V-4A
MDP(\)10BRE>@FXO6Z%-2NN>@'&;SFVA^\T+/+B^BV?,+/9]=1U=3^/?J*KJ$
MYR/2_MQ)^_-1:;_-@9'!%!C21TB5!*F1 #> FLI+E(0AH1^%>D3HTS/U+<N1
MSNR?PY&A2,- M$!+E.T*["$2$_Q:Q8RSSFH4E@3,73"=8(*@ #8O\:"*%4L3
M2C]($JR7+;.$CA 8 $:"H4R _TA6"F1G%""TFQ&K%A/794'";_5*637X6RU;
M%#3<LP'#B$P<@[E?Z1)8KO)+Q>RFH?&/&2;H \ 1)9\U3PYK-/JO-JX H7S/
M]B6Q1A@8*"^WS.EIF;3LG*#!VIAF7:9E7J[V"IC0D8Q>QM]P*!/]1U9_Z1-#
MMS5;OM 7V,1[)_F6V\&C_QKI+T6Y S$ A58N52 (@.[*%.28&*!JN4&R.^I:
MC?$(6@TT 2"4! .[M 0\'_K47,0Y;HZ990?N5V/ /ULN]6YM"@4"#AH6*>6I
M4M-Z +9%^K'GU180@5"(M4#M]]Y/0_/$[$8<:.R"6CC?LR5!'22VLOP,I%@8
M,$>/R(MD.3Q;C?I0-T[@;T8%_F,%@6[5["-R>K>X@TB_@S5 S>8I8W //@T8
M >3D6Q2&00TPOLRI.5/?M119_F6)5")MR@_QZ$!VRBIE.2"C2VQN0,& QX4,
MR\*.1&9VYQ7BHFB!7RH84NMZ7>X*I'"Y^U$_W/WVYI?/[][H#V_U^S>??OOP
M"_[URYN/?[RYN[_]=/_A=_4^5/_*V&V !_QW!2YQSFZ]'+CZL 2^,T\.>]UF
M>8KP2,(W8% >#8OJ;'#\;0N"4H()@0T C6.TD.=(<(7F3%_IO8FK&KS89%V0
MB ^-FDUEF#L U5EZ8 HJ&_9\U9T(JR)SB5()YFYPTDS0&6'5%XY57XQ[HJ!/
MLHH("2K@'0CY^;L,Y>DX4XX"/&*6EN"+CJ\$7*I0FU0I"2Y%4F]O'UZ#RDM1
MU1!%]*=R"UKGXGH::<_Y'^$(F5.=#(Q)\6SJTQG34>*\+=%5*O0=6:-D/YBU
M& 5QA!RK,]6'S3()&A#WB4;4/A?-;#5_QHKS\^1A O8GSS&+00'0L:GHTW=A
M.(,?>K(6\!TH77A4J! XL&!1,U,Z6#).D+"^7670()-;-KR!J(]^U#7 J+&M
M0BI 9V?QPCJ7K'O,5_8C1-N ,V' ,P?75X(&:QDX#XDQ/MA5<?N01\0KY3W%
M"9L_U'UVDT[+V<C KJAX13C'QS@CUS-EEQ6718$$8@6$BM,_6YN\ !(32'@,
M-A7@UB$I>\?B$P<4#C&$955N<+1RAQ9,.#S[J'] -08 1P\I"D\$S7U%VV:_
MV2[MC#?M3U%H"'X1>--H63D4(&<QJQ-X@E:D%O<+W2<(,C !^VCLM*P@J)@
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
MT,G#3BYN^!HT @/60L3K,T0D\.NAD:P2\ ,@&M8B@:\V\1?O"4@M"WAZT_$
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
M7.'\FF.."Q.$#L#[%>=J9^@$_0J._@)02P,$%     @ IH:O6*\UH6:# @
M9 4  !D   !X;"]W;W)K<VAE971S+W-H965T,C@N>&UL?53;;MLP#'W/5Q!>
M,6R 45]SZQ(#S:5H@?6"I.TP#'M0;"86*DN>I-3MWT^R$R\#TKS8),5S=$B)
M&E5"OJ@<4<-;P;@:.[G6Y87GJ33'@JAS42(W*VLA"Z*-*S>>*B62K 85S M]
MO^<5A'(G&=6Q!YF,Q%8SRO%!@MH6!9'O$V2B&CN!LP\LZ";7-N EHY)L<(GZ
MJ7R0QO-:EHP6R!45'"2NQ\YE<#&);7Z=\$RQ4@<VV$I60KQ8YR8;.[X5A Q3
M;1F(^;WB%!FS1$;&GQVGTVYI@8?VGOVJKMW4LB(*IX+]H)G.Q\[ @0S79,OT
M0E37N*NG:_E2P53]A:K)C4('TJW2HMB!C8*"\N9/WG9].  ,_ \ X0X0UKJ;
MC6J5,Z)),I*B FFS#9LUZE)KM!%'N3V4I99FE1J<3F[NGN=WC_>+F_D2OCR2
M%4/U=>1IPVS7O73',FE8P@]8(K@57.<*YCS#['^\9Q2ULL*]K$EXDO"6R'.(
M A="/XQ/\$5MF5'-%WU4)G]%KH5\AQE5*1-J*Q%^7:Z4EN9>_#Y6<4,8'R>T
MLW*A2I+BV#'#H%"^HI-\_A3T_&\GY,:MW/@4>[*<7L]G3]_G<'\%^Q/Z>4SD
M29KC(N$H><=T/,W;EL,,4RQ6*/>1J#,51<E08P8;(3(%9Q"Z031T^\-^;?<&
MQN\..@M2F0NJ45+"%!">F8$O2T91P<"-@J$;=X?&BKNAVX^"SJ/0A %MS^<,
M M^FN&&W9YW ;!*[@\$0CO75.[CY!<I-/=\*4K'ENAF"-MH^(9?-Y/Q+;]X?
MTX -Y0H8K@W4/^]W'9#-3#>.%F4]1RNAS5369FZ>090VP:ROA=![QV[0/JS)
M7U!+ P04    " "FAJ]8.3XAN)T#  !&"   &0   'AL+W=O<FMS:&5E=',O
M<VAE970R.2YX;6RU5MMNXS80??=7#+2+10L0$4E1MUW;@!-[D05R<7-I411]
MD&7:%E82O205;_Z^0\E6D]9QT0)],3GDS)DS<TC1PYW27\U&2@O?J[(V(V]C
M[?:C[YM\(ZO,G*FMK'%GI725633UVC=;+;-E&U25/J<T\JNLJ+WQL%V;Z_%0
M-;8L:CG78)JJRO3SN2S5;N0Q[[!P5ZPWUBWXX^$V6\M[:1^W<XV6WZ,LBTK6
MIE U:+D:>1/V\5PX_];AYT+NS(LYN$H62GUUQI?ER*..D"QE;AU"AL.3O)!E
MZ8"0QK<]IM>G=($OYP?TSVWM6,LB,_)"E;\42[L9>8D'2[G*FM+>J=VEW-<3
M.KQ<E:;]A5WG*V(/\L985>V#D4%5U-V8?=_WX45 0M\(X/L WO+N$K4LIYG-
MQD.M=J"=-Z*Y25MJ&XWDBMJ)<F\U[A889\?SN]OY[.[A5P*SGQZ_S*]G-P\P
MN9G"U6QR/[N\O9K>PP\/V:*4YL>A;S&A"_/S/?AY!\[?  _@6M5V8V!6+^7R
M=;R/1'NV_,#VG)\$O,[T&02, *=<G, +^NJ#%B]XJWJ-IUO;9P+S,JLM9/42
M9M^:8HO'SL)ODX6Q&L_-[\=*[Y#%<61WESZ:;9;+D8>7Q4C])+WQAW<LHI].
M\!8];W$*?7Q_<3F;/E[-X/8S_+."Q]B?Q#_.'OY=U@&*E6]ZM6"2YTW5E)F5
M2WB]-;A0QL)48JJ\R-K+>B/MX+PIRF51KTTK2U%MM7J23A@#[X%Q(FA"TI2C
M(0@5*0E"-T]P3$DDZ&#2X.51BP+/+K T(CP,@8F8\( #NE,>#&Y7JR*7('O)
M&>>$10P88R3AZ$])$$182MVL\" T&OF\=*=$<$&"*(6(4!:1F%-D(VB,#-+!
ME2,N!"4ATOSP+N&,?SK8@RN)'Y.-*O]26I*0).:'81\T>)#YIE:E6C]C3DH2
MEO;CP>4]\(#$"2<THJY!F(4)+*(U L(CK!R[,I6YK!92'[H?O!+F;[O_49M
M,!+1$(V )-C[)(E;;800)&;)&]I0U)%"B"8+CV@38U>1+XM"]$M<FC .3VE#
M64Q$%$%(XC0E<9RB-AS7HB3^O[3!1B/>87RE38"\X[8G2(VE 4E9TFG#8H;*
MQ7#LR^"_^+974J_;%\Q KIK:=I_Y?K5_)"?=V_"G>_?"XJU;%[6!4JXPE)[%
MH0>Z>[4ZPZIM^U(LE$5YVND&'WJIG0/NKY2R!\,EZ/\ZC/\ 4$L#!!0    (
M *:&KU@APC[(?0,  .D(   9    >&PO=V]R:W-H965T<R]S:&5E=#,P+GAM
M;*56;8_B-A#^SJ\8I55U)Z%-""^[V@)26+)WD5A "WM7M>H'DTS VB3F;+/L
MW:_OV($L;0.Z]KZ Q_8\\\R;)_V]D,]J@ZCA-<\*-7 V6F]O75?%&\R9NA);
M+.@D%3)GFD2Y=M56(DNL4IZYON?UW)SQPAGV[=Y<#OMBIS->X%R"VN4YDU]'
MF(G]P&DYQXU'OMYHL^$.^UNVQ@7JI^U<DN16* G/L5!<%" Q'3A!ZW;4-??M
MA4\<]^ID#<:3E1#/1HB2@>,90IAAK T"H[\7O,,L,T!$X\L!TZE,&L73]1']
MWOI.OJR8PCN1?>:)W@R<&P<23-DNTX]B_Q$/_EB"L<B4_85]>;?G.1#OE!;Y
M09D8Y+PH_]GK(0XG"C?G%/R#@F]YEX8LRS'3;-B78@_2W"8TL["N6FTBQPN3
ME(66=,I)3P\_S&;CS]%D L%T#-%T&4P_1*-)",%B$2X7\&[)5AFJ]WU7DS&C
MXL8'X%$)[)\!;L.#*/1&05@DF/Q=WR62%5/_R'3D7P1\8/(*VJTF^)[?N8#7
MKCQO6[SV.<^%2/8\RX 5"42%9L6:DZ\0*(5:P9BK.!-J)Q'^"%9*2ZJ?/^O"
M4%KIU%LQ/76KMBS&@4--HU"^H#/\Y:=6S_OU@@^=RH?.)?3AXNYC.'ZB=,WN
MX1^9'(?WT31:AC")/H4UJ:USY:*Q>E?@!R@TCBEHC%C&BAB!*1 IC#'&?(7R
MF&W?IH@6;;N@0H@W527 S^ WN^U.T[_N-B*JM9077"-,J-EK\OJ#IJZOO:;G
M>5 QEY@QC0JT +TAU/C+CBMN'QR"#Z=SHO""2M,[1H\GG!#,+$'^1I"5A1<+
M>O&4-NI4= F"PEB: T/([M#K^:R@M$Q;HO$=EAOCM\"D^#_BTFKV2M\;02ZD
MYM^8-?6.*ME&Y/T109V!:%/X6LUNJPZD<P;C7_%O-3N'#%SHGF[5/=WO[IYP
ML8P>@B65Z?W3\NF12O1A]KB,?@^6T6P*X6_S<+H(ZWKFHHGZG@F5YKG)78.=
M1@%?:=(J!/%"03,I+?!50TIE E^1207<AB45&4U2=0O_F7[C&,0R94;LG@J]
M4^'Z5+@Y"K5A=T_&3XYR;8>L*>1=H<M)5.U6<SPHQ]?;]?(C@!*^YH6"#%-2
M]:ZN*;RR'*REH,76#K.5T#0:[7)#WR(HS04Z3X701\$8J+YNAG\!4$L#!!0
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
M_/]!A3J ^QO.Y7&B%-3_:&[^ 5!+ P04    " "FAJ]8K2Q$2=T#  !O"0
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
M8+F!W%]1*@Z3/$#9F+N_ 5!+ P04    " "FAJ]85K6X80 %  !S"P  &0
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
MW:2:]K:<UC\Q;8 >62[G MWG$Y@8\'=V//8M!*Y:@WHA_,U"W/I6QD?"KU&
M/R/?\QLF079X'Y(:'ECD!/5["0J^X 3?$%1N"M/"EKB&&:>K_D8L2 (=1Y6U
M /X&3O?//W#D_64R]3^1[5ELU!8;-O;N$UFK_4 B-D5J4R*I7)OLEAQ1P:'W
MI+=N$,;8:[MONSZL,UWH(ZQ]A%8?(TB6G,JUVCT63%!I<E$RA#LNPD;CT(1U
MF@M-1+6)R&IBR(1 :EN5P-4N0R3-9RC5.6AR$QVY:> @/+1CG?!".\W:3M-J
MIVA'.K.6 A 1 J3XC,8PHWFNG8U)2O+$Z*UYY WCT(^# W/-H[3$4=/W_3IL
M3W:KEMVRRNZ#6HN$$MWA3.):1^*N<!#%C0-QAK 0QWYL%A?7XN+?7U,@/%UO
MLT9ED HXF3BQ0;^'PS@^,& 5<F'J8&_;$KT+C.:3,YEC9S6K1L;6YYW+P7UC
M.[T>VXM<OQ>44C*FJ=JP?K$B*M*S)6&*L]0$]K>R_5^037.592 D@G?5+LSY
M51'M2VU%AT*/HR(<XA,RMQT;6[OEII\9FW8%W<_\1JMUN&>:XL*6MQ.W+V[;
M:[&]V1Z]^M\KW(K]?.7:95Q:NMM6C.V]^-CF^;*]H.V:RS8\[@FFLG5WOM8S
MX+/B$"-0PI:Y+#_<Z[OU0:E7' _<;7AYRE(?K:J A7IO4P7UKIM* B\/+N5
MLD7Q[3]F4ITDBLNY.NP!UP'J^90QN1GH">KC8_<_4$L#!!0    ( *:&KUBX
M-@!=Z $  /4#   9    >&PO=V]R:W-H965T<R]S:&5E=#0Q+GAM;'U3;8_3
M, S^*U&0$$AHZ<MVH-%6NMT= HF7Z2;@<]9Z;71I4I)T/?X]3MI50]KN2QL[
M?AX_=NQLT.;)-@"./+=2V9PVSG5KQFS90,OM0G>@\.:@3<L=FJ9FMC/ JP!J
M)4NBZ(:U7"A:9,&W-46F>R>%@JTAMF];;OYN0.HAIS$].1Y%W3CO8$76\1IV
MX'YV6X,6FUDJT8*R0BMBX)#3VWB]27U\"/@E8+!G9^(KV6O]Y(TO54XC+P@D
ME,XS</P=X0ZD]$0HX\_$2>>4'GA^/K%_"K5C+7MNX4[+WZ)R34X_4%+!@??2
M/>KA,TSUK#Q?J:4-7S*,L2EF+'OK=#N!T6Z%&O_\>>K#&2!>7@$D$R )NL=$
M0>4]=[S(C!Z(\='(Y@^AU(!&<4+Y1]DY@[<"<:[X^G"[>]B1-_?@N)"6?.?&
M<-^HMQESR.^C6#EQ;4:NY K7-VX6)(W?D21*EO_#&<J:M26SMB3PI=>T ;;;
M7M(QXI:7<7Z.U[;C)>04!]6".0(M7K^*;Z*/+ZA*9U7I2^S%CPY\AU1-9-!'
M*F%+W2M'T V7U(Y\<10(_98<BV@1K589.Y[K8&>OZ!<"VUD+93'- 7'1XOV*
M$C,.V6@XW86'W6N'8Q*.#>XE&!^ ]P>MW<GPLS)O>O$/4$L#!!0    ( *:&
MKUCY>Q*!A@(  %L&   9    >&PO=V]R:W-H965T<R]S:&5E=#0R+GAM;*U5
MT6Z;,!3]%8M-4RNM!0PDH2-(*4G52MM:)4WW,.W!(3<)JL',-DGW][,-86E+
MLSWL)?C:]YQ[CLF]1#O&'\4&0**GG!9B:&VD+"]L6Z0;R(DX9R44ZF3%>$ZD
M"OG:%B4'LC2@G-K8<7IV3K+"BB.S=\?CB%629@7<<22J/"?\UR50MAM:KK7?
MF&;KC=0;=AR59 TSD//RCJO(;EF660Z%R%B!.*R&ULB]2 *=;Q(>,MB)@S72
M3A:,/>K@9CFT'"T(**12,Q#UV$("E&HB)>-GPVFU)37P<+UGOS+>E9<%$9 P
M^BU;RLW0&EAH"2M243EENVMH_!B!*:/"_*)=G1M@"Z65D"QOP$I!GA7UDSPU
M]W  </TW +@!X'\%> W ,T9K9<;6F$@21YSM$-?9BDTOS-T8M'*3%?HMSB17
MIYG"R7B67$_&\\\3='N%1DER._]Z/T/323*Y>1A=JNV3,4B247&*SM!\-D8G
M[T\C6ZK"&FZG39'+N@A^H\@7PL^1YWY$V,%^!SPY#A]#VL*]YW!;V6T]X]8S
M-GS>&WQ32"';D@4%@;Z/%D)R]6?ZT66KYO&[>72#78B2I#"T5 <)X%NPX@_O
MW)[SJ<OD?R)[9MEK+7O'V.-1FK*JD$(UWMY[E]^:I&=(=/]O8]?# W> G<C>
M'GKI2'1<S\-^V"8^T^FW.OWC.JD:*Z1(U9M1$PHM6;60JXJJ;J_U=XFN&8,#
M+6=X$.)^_X7FKKS0<4.O6W+02@Z.2KYGDOP1^)<+#E[?&PY#'/C>"[&O$\.!
M[SE![X58^Z#U]=A5K;;."H$HK!32.>\K(EZ/LCJ0K#338,&DFBUFN5'3'[A.
M4.<KQN0^T .F_9[$OP%02P,$%     @ IH:O6$6IF.R" @  108  !D   !X
M;"]W;W)K<VAE971S+W-H965T-#,N>&ULK55=;YLP%/TK%INF5MH*&,A'1Y#:
MI%4C;6V5M)VF:0\.W"16#::V$]I_/]L0E'8TVL->L*]]S^$<XWN)*RX>Y1I
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
M"1: ^F  UG=Y"*&+:FN6(LZV#+-A,T4"!E"',(#J>SPT^#G6@7E5&+*<AF4
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
M#,7MA:E,$._7A/!#( M4]Z'[&U!+ P04    " "FAJ]8#XA(^ZX+  !4L@
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
M7%3S4,U'M0#50DIK3@-U8D]]B\B>BF;V4,U -1/5+%2S4<U!-1?5/%3S42U
MM9#2FM_:4L?W-'E\[R9:M!^^R^M.[7A4,U#-K+3]-P,T;3P>Z\_^7M727@8&
MU='H[&P\>O:'K>C]<U#-134/U7Q4"U MI+1FG]:I/$V>RKN<3I--N:=.Q53$
M]]&W8H^>BD64%VO[=93F\2M=C$;S4,U -;/2FLVIZ6>Z_KR+T=0=JCDM#T+K
MC?0S]?E?L:/#>JCFHUJ :B&E-;NX#M1ITD3.1?#C+LF*A?=4>BPN1TYN6C0P
MAVHFJEFH9J.:@VHNJGFHYJ-:@&HAI37;OP[,:6_Q_7 :&JQ#-0/53%2S4,U&
M-0?57%3S4,U'M0#50DIK3@]U2$^3YGL.Y&GEQ2>W/:D9J&:BFH5J=J4U/VAL
MB0X[Z+ NJGFHYJ-:@&HAI34[ND[4:?(OC+N.?CSNT_-$N9P6>_Q4[._J6]L<
MC<]I;5^+]O+5:J"CFJAFH9I]Y#/BH*.ZJ.:AFH]J :J%E-;LWSKRILDC;^;5
MM7(MTHW\<!T-NJ&:@6HFJEFH9J.:@VHNJGFHYJ-:@&HAI36[O\[#::.W.%Q'
M8W.H9J":B6H6JMFHYJ":BVH>JOFH%J!:2&G-Z:$.V&GR@-WQ7^Y>08>^]GPB
M'_#DYD9C<ZAFH9J-:@ZJN:CFH9J/:@&JA936;.XZ-J=)<S>O?M5[5=;XA'8P
M?G'X.)'S)[<R&G%#-0O5;%1S4,U%-0_5?%0+4"VDM.8YF>J(FRZ/N)4'\?L+
M]D-1>#EWZH(=U0Q4,U'-0C4;U1Q4<U'-0S4?U0)4"RFM.1'4&3I=?8/C>1V-
MU*&:@6HFJEFH9J.:@VHNJGFHYJ-:@&HAI36GASJ<I\O#>5?)ZGUQ*)^GR6)1
M?K%]O,I%,4ZNK$4Z+::&Z*[USV+EZLGS 9K60S43U2Q4LU'-J;3QWE%>[X,^
M>!;"1<?T4,U'M0#50DIK]OG>25KE7UNW^U#OI(,"]JRL[&E9V?.RLB=F9<_,
MRIZ:E3TW*WMR5O;LK.SI6=GSL_X_0G=Z';K3^V]Q4$"FEB:H9J":B6H6JMFH
MYJ":BVH>JOFH%J!:2&G-Z:%.\.GR!-^7AY5(LWF\/G04@,;V4,U -1/5+%2S
M4<U!-1?5/%3S42U M;#2FL=B]:%8LZ_K9)\N3_9=1:M$F<S%4K[J1Z-]J&:@
MFHEJ%JK9J.:@FHMJ'JKYJ!:@6DAIS?:OHWWZ6T3[=#3:AVH&JIFH9J&:C6H.
MJKFHYJ&:CVH!JH64UIP>ZFB?+H_V';WJ1[\U#]4,5#-1S4(U&]4<5'-1S4,U
M']4"5 LKK3P7WMZROZ\.1Z^L_.MDGRY/]EW.9G$9U(T6BGC<\R\?]_SQ;L^O
M),?V_UAZ;%*U-1H%1#43U2Q4LU'-0347U3Q4\U$M0+60TAJ]WZ^C@/V3HH#O
M#G[L)_=.W<&CFH%J)JI9J&:CFH-J+JIYJ.:C6H!J(:4U9X(Z"]A_BRQ@'\T"
MHIJ!:B:J6:AFHYJ#:BZJ>:CFHUJ :B&E-:>'.@O8EV<!CWT#0,Z</ &@X3]4
M,U'-0C4;U9Q*>W;HV7OQ3:(N.JQW[+ ^.FR :N$1#Z+9D75JKR]/[9UV.@LY
M=G)?HG$]5#-1S4(U&]4<5'-1S4,U']4"5 LIK3D-U'&]?O\MUNUD1&F":@:J
MF:AFH9J-:@ZJN:CFH9J/:@&JA936G![JN%Z?B>O)F9,G #2NAVHFJEFH9J.:
M@VHNJGFHYJ-:T)<'[*J^1K^(KYO-A<B-*(\NSI<BO1,3L5ADRO84%^6^?^]:
M)16WY5FN/EYJG>Z+ZS^K'PVUY7I3_6AMK^_6_,7YNI@-PBB]BU>9LA"WQ5"]
M#Z/B@:7QW7QW(4_6Q0%,1_F6Y'FRW/XX%]%,I.4-BM_?)DG^=*$<X"%)OV\?
MSL5_ %!+ P04    " "FAJ]8WN/#8<$%   !)P  &0   'AL+W=O<FMS:&5E
M=',O<VAE970U-"YX;6RUFN]OVC@8Q_\5*W<Z;=+6).;W#I!:TFH]C;:"[DZG
M:2],8D+4).8< YMT?_S924@PN&YS-7U1"/'SM?U)_.3Y@H<[0I^R%<8,_$CB
M-!M9*\;6GVP[\U<X0=D%6>.4GUD2FB#&#VEH9VN*49 ');$-':=K)RA*K?$P
M_^R!CH=DP^(HQ0\49)LD0?3G%8[);F2YUOZ#612NF/C '@_7*,1SS+ZN'R@_
MLBN5($IPFD4D!10O1]:E^\EK.2(@;_%GA'?9P7L@IK(@Y$D<W 8CRQ$CPC'V
MF9! _&6+)SB.A1(?QS^EJ%7U*0(/W^_5;_+)\\DL4(8G)/XK"MAJ9/4M$. E
MVL1L1G:?<3FACM#S29SE_\&N;.M8P-]DC"1E,!]!$J7%*_I1@C@(X#KJ %@&
MP.. ]C,!K3*@]=J =AG0SLD44\DY>(BA\9"2':"B-5<3;W*8>32??I2*ZSYG
ME)^->!P;SS_?SQX_/E[/IN#+[=TUN+\!D]FU=_L(WGF8H2C.P!VB%(FK\QY\
M!%_G'GCWZ_NAS7CG0L+VRXZNBH[@,QVY8$I2MLK =1K@0(ZW^:"KD</]R*^@
M5O"/37H!6LX' !W84HQGH@^?(LK#W3R\K0CW].$>]JOPEF8VK>HZM'*]UC-Z
M7_@Q($LPH3B(&+A!?A1'["?XEI^X93C)OJN@%ZIMM:I(&I^R-?+QR.)9(<-T
MBZWQ;[^X7>=W%3&38IXA,8EFNZ+9UJE7-/V<IHJ;-KXIMT*LFXN)1+L=MV!G
M,&AUAO;V$,EI.[?O.NW>H&HGS;93S;:CG>V<$?\)_(UH "[3 %RA] G<<P#?
MICA98/H=_ ON2.KSY4=)S(-#<)LRS.?%JB8J1-I.FR(R*>89$I-@=RO8W;,L
MU*Y)FB;%/$-B$LU>1;.G7Z@$I2#<((KX'8D#P!\T6$5/J]*47B$V.%B&SL7)
M6C74HT2E7U'IOS%]:>.;\NB?IJ5.K^,XSA$20YU*2 85DL&;<QPO,B]#BC$O
M2YET J5DPNME,"?Q1E2;&4^ OC;W:0?3E*]),<^0F'017*>N%IVS9+]2UA!0
MHVJ>*349Z4$![AI)@7J9Q@A=11+L'B=!4WW*:&"-!KXQ#^H%&D.!)YD0#J B
M$YKJ5N92>P576SR/YRM"&> E7 (6A/)P7M-E2CQ&[4&I]G*=JVBH+73=NJYW
M]87]*QX#TRB($3\W9WPA9463%Y\22GA&/8)1-<^4FGP9:L/A=L[S&##J*8RJ
M>:;49*2UK7"U=?9S2#^ R892<:M>[5<ZF" ^#GY.2;A[LO1$_CK.8!/]:!JS
M.X>'<&L3X>I=Q&7(%W3(ESM "=EP5IPCQ5L2;P6N^.6G2.\$6EM-S:0/\4RI
MR=1JD^'J7<8#ICZ_L5"8TUD2BJ-0?!'K"X09!^CC:(L6<7XZ2K>\+:'JFZZO
M*"8ZQ^Q,>A;/E)K,KG8CKMZ.>'C!P)+KEW><DLK@M)IPE'>548-@2DW^4K9V
M"%!;+H^KKY:>JV/U\4V? :6:J.$/[CVG7RS?_9][5* TC9)9U*4]U)?V1;7R
MN@KD99_*6\RJI';RY-44,OI1-B9N4LTSI29?H=IA0'B60@8:]1U&U3Q3:C+2
MVIQ 0^9$K].8X?]0 TI\;Q>2R=7F!K[&W!RG"V-^1M][8]Y&_8PI-9E\[6?@
M>?P,-.IGC*IYIM1DI+6?@7H_\]::')X:F;:R>M*/HS&U<S@96#L9J'<RYFIR
MJ/J5X[@FUX^F,;MS^!E8^QFH]S.OJ<GAZ6\=ZII<WU=C,N=P*[!V*U#O5EZN
MR8W^WE&J-:W)&T;)VRQJ?]+2^Y/K. HCL8#6TE(+2,(!1;YJK2GW73B*Y=4_
MNHGT0VF\H<+H[Q3VP9ZA!-,PWWN5@7SRQ?:AZM-J?]=EOJO)KIL7F\.FB(81
M-RLQ7O)0YZ+'GSRTV&]5'#"RSG<@+0AC),G?KC *,!4-^/DE(6Q_(#JH=KV-
M_P-02P,$%     @ IH:O6)I2VO[= @  R@<  !D   !X;"]W;W)K<VAE971S
M+W-H965T-34N>&ULK57+;MLP$/P50BV*!$@BZZVXM@"_@A3(PXB;]%#T0$MK
M6PA%JB1M)W]?DK)5)U:$'GJ12&IG.$.N=GM;QI_%"D"BEX)0T;=64I9=VQ;I
M"@HL+E@)5'U9,%Y@J:9\:8N2 \X,J""VV^F$=H%S:B4]LS;E28^M)<DI3#D2
MZZ+ _'4(A&W[EF/M%Q[RY4KJ!3OIE7@),Y"/Y92KF5VS9'D!5.2,(@Z+OC5P
MNJ-(QYN IQRVXF",M),Y8\]Z\BWK6QTM" BD4C-@]=K " C11$K&[QVG56^I
M@8?C/?N5\:Z\S+& $2,_\DRN^E9LH0P6>$WD ]M>P\Y/H/E21H1YHFT5ZT<6
M2M="LF('5@J*G%9O_+([AP. XFD&N#N ^QX0?@#P=@#/&*V4&5MC+''2XVR+
MN(Y6;'I@SL:@E9N<ZEN<2:Z^Y@HGD]GH>C)^O)F@^RMT<S^X0Z/[I\G=X.[[
M#)V,0>*<B%-TCAYG8W3R^;1G2[6G1MKICG]8\;L?\'OHEE&Y$FA",\@:\*-V
MO..V$-C*;.W8W3L>NJV,MYA?(,\Y0V[']9L$M</'D-9PKT6.5U^ 9_B\#_GF
M$HUSD1(FUAS0S\%<2*ZR^U?385=<?C.7_N.[HL0I]"WU2PO@&["2+Y^<L/.U
MR>A_(GMCVZ]M^VWLR1 33%,X0W-8YI3F=(G8 I7 <]:4)<.*+31LNC)MDMAQ
M_$LO[-F;0T_'<:$3^)THJN/>R UJN4&KW"E9BRZ:<I8"9 (M."L089B*)JT5
M57"@(8ABY[W2XR@WC,,P=IN5AK72L%7I#0BM%+^J4BL%4I52ZVR2&1X).'?B
MX/)(:$-<Y :QSOXFH5$M-/JW# ":M=]]='2GT64<QD=W?QSW/D<JH?9!N2R
M+TT7$2AE:RJKREFOUHUJ8.JS_3>\ZG*JF*CT%8C 0D$[%Y$Z)EYUCFHB66F*
M[YQ)5<K-<*6:+7 =H+XO&)/[B=Z@;M_)'U!+ P04    " "FAJ]8 >U@>I$$
M  "E'0  &0   'AL+W=O<FMS:&5E=',O<VAE970U-BYX;6RU66MOXC@4_2M6
M=K6:D;9-[#SI E*+VYU*]*&AW=5JM!\"F!(UB1G;P.R_7R>D"0FI!ZCY GG<
M>^QSDN-<V]TU9:]\3H@ /Y(XY3UC+L3BPC3Y9$Z2D)_3!4GEG1EE22CD*7LQ
M^8*1<)HG);&)+,LSDS!*C7XWO_;(^EVZ%'&4DD<&^#))0O;?%8GINF= X^W"
MU^AE+K(+9K^["%_(B(CGQ2.39V:),HT2DO*(IH"16<^XA!<8V5E"'O%71-9\
MZQAD5,:4OF8GM].>864](C&9B PBE'\K,B!QG"')?GPO0(VRS2QQ^_@-_28G
M+\F,0TX&-/X[FHIYSP@,,"6S<!F+KW3]A12$W QO0F.>_X+U)M;U#3!9<D&3
M(EGV((G2S7_XHQ!B*P$Z[R2@(@'MFV 7"?:^"4Z1X.3*;*CD.N!0A/TNHVO
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
MU<;*XVLJ,Y;QMU[X:KKEKEQG?Q$[U3E GGZ; ]44?WA,W(.WPGWE-,@-_.,
MO7V WM]E0HX_.I1.S3MQ*-W]@^-6WOB_R84<?*3;</SZ"=W]4^!67^)_GPZY
MP%$^M(^,V0<U2HQ\:2HQ 7.V3F16KA2C1;77RVJ<_?2L5%3O_I(J3Q$N%%1I
MJ:>!9]57UI$L-17/C$E5/YGF2E6LR/4$]7W!F'SN:(&B!@Y^ 5!+ P04
M" "FAJ]8]PO+5B@%  #3'   &0   'AL+W=O<FMS:&5E=',O<VAE970V,"YX
M;6RUF?UOHS88Q_\5BTW3G;0KL<EKET9JPTT[3;U6S;W\,.T'%QR"#G!F.TF[
MOWXV$-[B."&CE=H \?.UGP_X\9=ZNJ/L!U\1(L!+'"7\QEH)L;ZV;>ZM2(SY
M%5V31'ZSI"S&0IZRP.9K1K"?!L61C7J]H1WC,+%FT_3:(YM-Z49$84(>&>";
M.,;L]8Y$='=C06M_X2D,5D)=L&?3-0[(@HBOZT<FS^Q"Q0]CDO"0)H"1Y8UU
M"Z]=Y*B M,6WD.QXY1BH5)XI_:%./ODW5D^-B$3$$TH"RX\MF9,H4DIR'/_D
MHE;1IPJL'N_5?T^3E\D\8T[F-/H>^F)U8XTMX),EWD3BB>[^('E" Z7GT8BG
M?\$N:SOH6\#;<$'C/%B.( Z3[!._Y" J 6AP) #E :@1 (_UX.0!3C-@>"2@
MGP?T4S)9*BD'%PL\FS*Z TRUEFKJ((691LOTPT3=]X5@\MM0QHG9XLO#_$_P
M\/CET\/G!7CG$H'#B(//F#&L[LA[\ %\7;C@W<_OI[:0':HPV\O%[S)Q=$3<
M ?<T$2L./B8^\37QKCD>(H. +3,MTD7[=.^04?$>LRO@P%\!ZJ&^9D#S\\,=
M73[F<)=XQ\)KV3C%S7-2O?X1O8>UFCL<! PG@OA@39A'$B'GJ^Y>95J35$N5
M@^T,3NUM-7EC;ZH"7?,U]LB-)4L,)VQ+K-DO/\%A[S<=BH[$:F#Z!9B^$<PW
MPA4/05BL(V$.'H!7@AG7/1W&P+: .A*K 1H4@ 9G/3FRDH3Q)BZ>H&/$S&H&
M8L; ML0Z$JL1&Q;$AL8<OZ<K"/$_X"UA<H;)14\MJV$2 $_6*"87L V.0!0N
MM9//+.YD ,$$Q&F]TY$T*K0EV9%8C>2H(#DR)KL0U/L!:+UVZ9AE,H-*P9H,
M>O*G4;6,O;4%TY%8#<RX #-N 8:\R&H><CV:\0$:.#@D8^RN+9G#+L?5'FL9
M3XJ,)V=DO,VJM4=CZ68Y3OU@(G^SZ[KT,]5A=2P(C:'3R-_8>=O\.Q*K<8*]
MTJ;USBH_8%]^Y%H?4E\^)6OIH%7EIN!9%26/!DGXKQ[;B3Y07H6<O H!. 8^
M?M56([-46[9=J=7A5CPP-"8^QPGV,7@B6Y)L"+@-2.*]@K_N2?Q,V-]:DD;!
MENG/.U5SNU*KPT0E3&2$>1L$C 18$!#*93&4;X@>V.)(<J7+_53/:YR6K%%=
M/WJ@A8H.B@0<PK[3*)+N)1V>QE5:>&CV\"UPF9>$O)]JOB/47!$TC2 <-)NY
MYC%?RJ1T[]#LP.<R6?G>+HT!-\_"+OWXO%,UMRNU.L+2WT.S)3_;9.4ZU75]
M,#RT$N;NSI^6[B5"I[F4+AZ:G7:52[IX)ESKUW.9ZD293/H'5"[PT7HJ;V'(
M8>G(H=F2W_I^J(C(%YB<"0>^+$'25)SS"%U@FO4E>W0 ?8A0'S:KTUN8=%BZ
M=-B933<KM2'3D9![B=!I=J7?AV;#_S%>1_25D!-UO4OC/N]4S>U*K?[OR_(]
M )D]^MEU/=>IO:_) G90V,W]M7BR+A$Z#:;T\,CLX<\M[+E,S0%-)L/QJ,GE
M A>MY_(6=AR5=AR=L./_J[2C0Q/==T9-#SW7-'/0>#2<-"JW>:R7LBB]-C)[
M[1:5.U<Z]1\63;/Q02O7/*RV:=N5W9Z8L"#=->/ HYM$9#LAQ=5B9^XVW8]J
M7+^#U_-L?ZV4R;;[[C$+Y*L(B,A22O:N1C)!ENV@92>"KM,]I6<J!(W3PQ7!
M/F&J@?Q^2:G8GZ@.BGW,V7]02P,$%     @ IH:O6&"H#JUE P  -PX  !D
M  !X;"]W;W)K<VAE971S+W-H965T-C$N>&ULQ5==;]HP%/TK5C9-K=22#[X9
M1 *R:=7:%95V>ZCV8)(+1$WBS#;0_OO93D@3&K(Q1=H+Q([/N3['SK7O<$?H
M$UL#</0<!A$;:6O.XX&N,W<-(68-$D,DWBP)#3$73;K264P!>PH4!KIE&!T]
MQ'ZDV4/5-Z/VD&QXX$<PHXAMPA#3EPD$9#?23&W?<>>OUEQVZ/8PQBN8 W^(
M9U2T](S%\T.(F$\B1&$YTL;FP#$-"5 COONP8[EG)*4L"'F2C2MOI!ER1A"
MRR4%%G];F$(02"8QCU\IJ9;%E,#\\Y[]LQ(OQ"PP@RD)?O@>7X^TGH8\6.)-
MP._([@ND@MJ2SR4!4[]HEXSM]C7D;A@G80H6,PC]*/G'SZD1.8#@*0=8*< Z
M!+2. )HIH'D(Z!P!M%) 2SF32%$^.)AC>TC)#E$Y6K#)!V6F0@OY?B37?<ZI
M>.L+'+>GX]G5_?@:S>]OIU_1F0,<^P%#WS"E6*[(.;I$#W,'G;T_'^I<!)0P
MW4W))PFY=82\B6Y(Q-<,?8H\\$KP3C7>M"H(=*$TDVOMY4ZL2L8;3!NH:5X@
MR[!:)1.:_CV\6::G&NZ >PQ>4-/,%J^I^)I'^.9K3.%R(K:]AZ8D%+F 8?4U
MC<7J12L0WR='BQ>4'S?#+ZI[O,/40X_7@A)=<0C9S[+U3>*WRN/+G#1@,79A
MI(FDPX!N0;,_O#,[QL<R;^LD<VHB*_C>RGQO5;';<T[<)T1BZ35#\ S4]5GI
M!I\D1&U%)'/PUC;;AF$,]6W>F<IPISKS-F0O'[&@N)TI;E<JG@JA(I-BL7'$
M68/D''P7V 5B<FNQ,N65A*=NG?9;&ZVN5731J2EBP:!.9E#GWPS:XF #9?Y4
M\IWJ3T+6R?G3,KH'N\RI*6+!GV[F3[?2'\??^AY$'D,QT&37E)E227*J*0E9
M+V>*T3#:!Z;4%+%@2B\SI5>=1\KR\FOJOD"W*L6@QQL(%T!+,W1EA%,=JY/,
MJ8FLX&P_<[;_GT_&?IV^UTGFU$16\-TT7N^31EUG8\KTI\.Q9%COS2BG>EJG
MRM9S-^H0Z$I5)@RY9!/QY+:9]6;5SUC=^0_Z)^9@FM0PKS1)227NDBM?6!3
M4E :C:X02),J)6EP$JM[^X)P406HQ[6H[(#* >+]DA"^;\@ 6:UH_P902P,$
M%     @ IH:O6"MJ$,H"!   [A   !D   !X;"]W;W)K<VAE971S+W-H965T
M-C(N>&ULS5C;;MLX$/T50KM8M$ 2W14K:QN(K10UD(L1-]N'H@^T-+:(2J27
MI.,6Z,<O*2F*9<MJO? 6^V*+%,_AS.%PR%%_P_@7D0)(]#7/J!@8J92K*],4
M<0HY%A=L!52]63">8ZF:?&F*%0><%* \,QW+"LP<$VH,^T7?E _[;"TS0F'*
MD5CG.>;?1I"QS<"PC9>.1[),I>XPA_T57L(,Y--JRE7+K%D2D@,5A%'$83$P
MKNVKR'8TH!CQ%X&-V'I&VI4Y8U]T8Y(,#$M;!!G$4E-@]?<,8\@RS:3L^+LB
M->HY-7#[^87]7>&\<F:.!8Q9]I$D,AT8/0,EL,#K3#ZRS7NH'/(U7\PR4?RB
M3376,E"\%I+E%5A9D!-:_N.OE1!; ,73#G J@+,+\ X W K@[@*" P"O GB%
M,J4KA0X1EGC8YVR#N!ZMV/1#(6:!5NX3JM=])KEZ2Q1.#F?C]S?1T^T->GB'
MHLGLP^-D]/1A\G _0V\BD)ADXBTZ1T^S"+WY_6W?E&I*#33CBGY4TCL'Z%UT
MQZA,!;JA"20M^*@;;SL=!*;RM7;8>7%XY'0RWF%^@5S[##F6X[48-/YYN-OF
M3S<\@O@0O.&-6R^?6_"Y!_C&C J6D03K372&;D$()%-,T<>49=DW]+"AD*#9
M>BY(0M2^/D-3S('*X@47*5FA"97 0<@S=+-8J-TH$%N@L>)8@CA#]RKU?+I5
MLZ*)A%Q\;@N!TD2OW42=N*[$"L<P,%1F$L"?P1C^\9L=6'^VR7]*LNA$9(VE
M\>JE\;K8AQ$1DI/YNDAODB'*:*Q"F:MU(72)2"6[TG@$2T*I[ISC#-,8VD0N
M)PN*R70R?QZZ5N!?VD'??-[6K].H8_4[$5E#/[_6S^_4[Y[1\S;!D$A5".L@
M)4K0O%6LDMG?$LOOA3UW1RI_3]*>93M^<U34:>6_U""H-0A.%$,J/?X@@((]
M35S;\8(PW%&ETZ)C RCX8=0V=+FL=;GLU.7F?JKRUK-R75U!M/NWMV/TZ0[R
M.?#/Z'M+=D/3-8]3=4% UTL.H&$UH$VMSOF/S6FG)(M.1-;0O5?KWOO_'S>]
M4R[-*<FB$Y$UEB:LER;\E<=-N)<MG-"R[;UL$>YM<">P?,OU=K)H"]_.N(;7
MMO5Z?[5^VN_6^VDG_-AP.2E;5+%MJW)^:8>>&QY09>M6;_]GAV=%[3?.12^P
M=E:^VX*CI=B?U+9L/[ .!8CS*H7SR\[0:JI&N(<]._!WMT6W34>+TS9M<S>6
MXIA;A6 .?%D4U +%;$UE62+5O771?EV4JCO](_MJ7);>KS3EEP!5 *GT(5 &
M"T5I75RJ)>-E<5TV)%L5Y>:<256\%H\IX 2X'J#>+QB3+PT]0?V)8_@/4$L#
M!!0    ( *:&KUCIX04TN@,  %4-   9    >&PO=V]R:W-H965T<R]S:&5E
M=#8S+GAM;,U7;8_:.!#^*Z-<=6HE=O/&ZQX@L4!;)!8HL-</53^89"!6$YO:
M9FFE^_%G)Y "FTW5$ZJ.#R1^>6;F>>P93=I[+K[("%'!MR1FLF-%2FWO;%L&
M$29$WO(M,KVRYB(A2@_%QI9;@21,04EL>XY3MQ-"F=5MIW,ST6WSG8HIPYD
MN4L2(K[?8\SW'<NUCA-SNHF4F;"[[2W9X +5XW8F],C.K80T028I9R!PW;%Z
M[EW?30'ICK\I[N7).Q@J*\Z_F,$H[%B.B0AC#)0Q0?3C"?L8Q\:2CN/KP:B5
M^S3 T_>C];<I>4UF123V>?R1ABKJ6$T+0ER37:SF?/\>#X1JQE[ 8YG^P_ZP
MU[$@V$G%DP-81Y!0ECW)MX,0)P!MIQC@'0#>):#^ L _ /R4:!992FM %.FV
M!=^#,+NU-?.2:I.B-1O*S#$NE-"K5.-4=]%_/QP\CH<P?0N3Z03ZT\ER/AV/
M1Y-W,)HLA_/A8@GSX;BW' Y@.85>_\/C:#%:CO3>UP-4A,;R#=S XV( KU^]
M:=M*!V5,V\$A@/LL .^% 'QXX$Q%$H8LQ+  WR_'NUZ) 5NKD4OB'26Y]THM
M/A!Q"[Y; <_QJD4!E<,'&.1POR0</S\A/[7GOV"OSYGD,0V)N?85&*.4H"+"
MX&/$X_@[3/<,0UCL5I*&5&=B!69$(%/I@I 1W<*(*10H506&Z[7.'PE\#7UM
M8X.R A-=+#Z-M5<8*4SDYZ(SS$*L%H=H2LV=W)( .Y:N)1+%$UK=/_]PZ\Y?
M1?I=R=B9FM5<S6J9]>Z 2B7H:I?6$,6!<1;HZR.TE)1M@!Z4TK+<XX8R9B97
M)"8LP")=,F?UU)FIF$]=WZG7&FZ];3^=4BX-ZC]2KN64:U>BK#/H)WPS3[53
MOJY7K;=:%WQK/]7EC$H]IU(OI>*[#7A %G)%8#SNPZ<'3%8H/L,_!;<=9CL1
M1+K$0V\C$!.3$T= $;=2U[]ZQZ]D[$RE1JY2X_]?,1K75/-*QL[4;.9J-G]G
MQ6@^RR"W7JVYC8L$*HVIF#&4D&WE9%M7(ML+ONZHI&9C$<U2-[]Z_*UGFNDN
M5?^*BXGK_.A]G"NQG7!V4[0$,M*I8Y(CYE(6=C_.L^!O/+?:N#SPHGU^K=KT
M7R!YTN"YOZW\'UR=UG6WZCM5YY),P;[S6YZ1L4\:UP3%)NWG)01\QU36P^:S
M^3=#+^V4[1_;LP\.W;7I[),0XUI#G=N&5E)D/7PV4'R;ML$KKG13G;Y&^KL'
MA=F@U]><J^/ .,B_I+K_ E!+ P04    " "FAJ]8/Y\?Q50$  "N%   &0
M 'AL+W=O<FMS:&5E=',O<VAE970V-"YX;6S56&USVC@0_BL:7^>FG4GB5\#D
M@)D$Y^Z8(203TNN'SGT0]@*:VI(K"6C^_<DO&$P<M?3\X>X+6+;VV=U'N])J
M!SO&OX@U@$3?DIB*H;&6,KTV31&N(<'BBJ5 U9<EXPF6:LA7ID@YX"@72F+3
ML:RNF6!"C=$@?_?(1P.VD3&A\,B1V"0)YB^W$+/=T+"-_8LGLEK+[(4Y&J1X
M!7.0']-'KD9FA1*1!*@@C"(.RZ%Q8U\'=B<3R&?\16 GCIY1YLJ"L2_98!(-
M#2NS"&((90:!U=\6QA#'&9*RXVL):E0Z,\'CYSWZ[[GSRID%%C!F\2<2R?70
M\ T4P1)O8OG$=G]"Z5!N8,ABD?^B73G7,E"X$9(EI;"R("&T^,??2B*.!!1.
MLX!3"CBG MX; FXIX)X*=-\0\$H!+V>F<"7G(< 2CP:<[1#/9BNT["$G,Y=6
M[A.:K?M<<O65*#DYFCW,+L</L^>GA^ET,OL#36;/=T]W\^<Y>A^ Q"06:(8Y
MQ]GJ?$"7Z.,\0._??1B84BG/(,RP5'1;*'+>4.2B>T;E6J [&D'4(!_HY6U'
M V JKRO7G;WKMXX6\1[S*^3:%\BQ'*_!H/&/B[M-_NC% PC?$J]YXU8+Z>9X
M[AMX8T8%BTF$LW2Z0%,0 LDUINC3FL7Q"WK848C0?+,0)"(JPR_0(^9 9?Z!
MBS5)T81*X"#D!;I;+E5>"L26:*PP5B NT$QM0I^G2BN:2$C$WTTA4)CH-9N8
M;6'7(L4A# VU1PG@6S!&O_YB=ZW?FNAO$RQH":RV-%ZU-)X.?703AFQ#%9T<
M0B!;O(BAB;P"I)N#9-OU5L5\O^]T/!4>VV-BM-K.)>:UUK[ON5:G6RFM^=RI
M?.YH?;Z;/:IXVJIH4H>$5.$SG8[1YWM(%L ;0T<+=V[HM D6M 16H[%;T=C]
M[V=UM\VE:1,L: FLMC2]:FEZV@@_D(Y"EJ28OB!6D4Y*TI$Z.1N3O<#N'Z6=
M==7MG"2ZUH!SN6H)K,:57W'E:[EZ@ECQ$*$4<UG2A'*>4N"A"E=583:1Y#>0
MY)Z2I-5\+DDM@=5(ZE<D];4DJ<R5^_B)B)"<+#9Y;2P9HHQ>AJK\X2KK"5U5
M\=7$6O_5CNXZ3J??Z9T0I[7F7.): JL19UN'(M;2YR*.0336I(5<IWZHVI[3
M/2&CG%@[?:V^W_?\^L1 ;\G/>GI4KMMMU!(ERK$['=>W'=\Y]5NK[MPH:%#K
MJ=BS'+^YFK"=@]^.UF_7[J%[H!&3^+NEA![JW .K5;2@+;0ZC8=+@OT_N"78
MK5X36D4+VD*KK\_AIF#KKPK_KJ@HP>L'IG^:\:U>'[ZCLD[#X?)@ZV\//UDO
ME*AU8U[M>*U>#MI"*X@RCQHY"?!5WA 3*-_RB\9&];9JNMWDK::3][?V];AH
MG1U@BD[>/>8K0@6*8:D@K:N><H 7S;%B(%F:MXL63$J6Y(]KP!'P;(+ZOF1,
M[@>9@JI%.?H'4$L#!!0    ( *>&KUA+1?4(= 4  %T<   9    >&PO=V]R
M:W-H965T<R]S:&5E=#8U+GAM;+69:V_;-A2&_PKA#4,++)%(ZD)EMH'$<=<
MS6K$S?JAV ?%IFVANK@B'6? ?ORH2T1+HB@G<;\DEGS.RY=']GE(<[A/TN]L
M0RD'3U$8L]%@P_GVPC#88D,CGYTG6QJ+=U9)&OE<7*9K@VU3ZB_SI"@TD&DZ
M1N0'\6 \S._-TO$PV?$PB.DL!6P717[Z[Q4-D_UH  ?/-^Z"]89G-XSQ<.NO
MZ9SR^^TL%5=&I;(,(AJS((E!2E>CP26\F& [2\@C_@[HGAV\!ME4'I+D>W9Q
MLQP-S,P1#>F"9Q*^^/=()S0,,R7AXT<I.JC&S!(/7S^K?\@G+R;SX#,Z2<*O
MP9)O1@,R $NZ\G<AOTOV'VDYH=S@(@E9_A?LBU@;#<!BQW@2E<G"013$Q7__
MJ2S$08+042>@,@$U$ZR.!%PFX'RBA;-\6M<^]\?#--F#-(L6:MF+O#9YMIA-
M$&>/<<Y3\6X@\OAX/ODXO;[_- 6?/X"[Z>SSW9?+*W$UG_YY._WKRQR\NZ;<
M#T+V'IR!^_DU>/?K^Z'!Q<!9NK$H![DJ!D$=@V!PF\1\P\ T7M)E/=\0ABO7
MZ-GU%=(*WOKI.<#P=X!,9"G\3(Y/QQH[N"HBSO5PA]X=?:3QCH)5FD1@^L1I
M&OLAF.1/CZ;@VR<1#VXXC=@_JN(5XI9://L>7["MOZ"C@?BB,IH^TL'XMU^@
M8_ZAFOF)Q&IUL*HZ6#KU\=P/*5/-L$AS\K2LL3R./80LXJ*A\7AH7A%'+->&
M;A57\V57OFRMKYM8/!+*.*!/HOTQJK)8*-@'0T/71H[3<*@(PV(BIMJ@4QET
M>@PNQ"<%</])9]%IC8T<"[JD85$1YGFNVU%#M[+HZI\M78ONS<$V358!5]ES
M6^-:MHM0LX+M,$(L['AJ>Z2R1[3VIEG9E@'?B><,!-T *_WZC%&N_%"2EI$S
MRR4PZP@UPXHX!+'I=#QSKW+L'570;[<T>J"ILC-H%5[:&4XD5ILL-"5GS)_9
M(TOU$Y7B5&KU6APP%[ZN3Y9Y=F^C5 7J.B5$TAMZ<Z\L)7J;I2I.TRVAY"W4
M8FQ\3<5S601^MA)4&L3M7B0ZT4&3*0VVX[!C0V)U&)0@A'H2'M?02Y'>CJZ*
MT[1T*+D(]6#L;^JP#;R\J]M-B^TXS[$LKZN2DHQ0C\9Y;Q^';>#9KNU 3-RF
M244D\C Q+=)A4](1ZO'X"O[ -@D%@%QLFTW;BD =@:"$)NRAYM?)K (0^ \<
MPR2]Y(L[\8G4Z@60#(;>3Z7220%]*K7ZEDH2&FFIUTVE,J_6 \2HS2ZE"".F
MT_4A19*62$_+8XBDEU"7#B@WCF\7JD]3@A?IP=O'--2&*2:DN5A51%G([5A<
M(PE<I ?N<3Q#"IP*!#3[F2+,@W:'18E<U+/Y[&49:F,4$KMMKQUV!L7*"G5
M DG<HN-PV\T$U,8H=ARKC3)%("(V\9PNDQ*X2 _<5Y!,K_B2;]_;A>JSEOQ&
M>GY?36:7+R6A7O*EW?]4:O4"R*4 (C^3A.BDJX)3J=5K(5<%J&=KWDE"3]&Y
M"!:+]N;74Q'HN@ZQ.Y;L6%(:ZRE]# UQF\3*_9DJ3K,_PQ+96(_L/I;A]O;5
M@L0E+8/M..R8GMD!"RQAB_MVN<?P#+=ABI"'<'/EHXKS"'%0A\V#WY7UV.UG
M&E;L=#$1'[2FQ78<A-!!J,NCY"X^CKO=>,!MH-J8>*YI-M&KBC1-US-)UT=2
MLA?KV?L*K)6*AS]'JS=HJD#E!LTX.*@1776=GU\QL$AV,2]./ZJ[U1G997XR
MU+A_!2\FQ4F7E"D.WF[]=!W$#(1T)23-<U=X2XNSK.*")]O\..@AX:*UYR\W
MU%_2- L0[Z^2A#]?9 -4)XKC_P%02P,$%     @ IX:O6.9JI.(D P  *0L
M !D   !X;"]W;W)K<VAE971S+W-H965T-C8N>&ULQ59=;]HP%/TK5]DT;=+:
M?$$('41*(=LJM:R"LCU,>S#D M$2F]D&NG\_VZ$IL!2M%=)>$MNYY_B>XYOD
M=C:,_Q0+1 GW14Y%UUI(N;RP;3%=8$'$.5LB54]FC!=$JBF?VV+)D:0&5.2V
MYSB!79",6E''K-WRJ,-6,L\HWG(0JZ(@_/<EYFS3M5SK86&8S1=2+]A19TGF
M.$(Y7MYR-;,KEC0KD(J,4> XZUJQ>]%S'0TP$5\SW(B=,6@I$\9^ZLE5VK4<
MG1'F.)6:@JC;&GN8YYI)Y?%K2VI5>VK@[OB!_:,1K\1,B, >R[]EJ5QTK=""
M%&=DE<LAVWS&K:"FYINR7)@K;,K8E@J>KH1DQ1:L,B@R6M[)_=:('8#BJ0=X
M6X!W"&@\ ?"W -\(+3,SLOI$DJC#V0:XCE9L>F"\,6BE)J/Z&$>2JZ>9PLEH
MU/N<],?7"7SY",/D:S(8)_ I&23#^"[IP]4 QH,K/1K=J841Q(,^].)!W(_A
M;1\ER7+Q#LY@/.K#V]?O.K94*6EB>[K=_K+<WGMB>Q]N&)4+ 0E-,=W'VTI*
MI<=[T'/I'26\(?P<?/<]>([7J,FG]^]P_T@Z?F6O;_C\)_B&N$:Z0@$SS@I(
M[B5R2G+HF8-%+H#0%*X9G9]=JVI.(18"I8#OUXH'KB06XD>=J>6FC?I-]9M_
M(99DBEU+O=H"^1JMZ,TK-W ^U#ER(K(]?QJ5/XUC[-$=DR2O4UC" @/3GZ)U
MU/:\1MCR.O9Z-_F:N+#1:KJM*FXOKV:55_-H7F6-UR5V%/=<ZT]$MB<QJ"0&
M_Z,T@U/Z<R*R/7]:E3^MEY5F"6ONE%RH2BX\*,R_HUPW"$*GOB[#*JGP:%)C
MFDEU%B-)))8G%$\X(RE\O\%B@KSV2(Y2/O=(3D2VI[Y=J6__CY)MG]*?$Y'M
M^>,ZCW]SYV5%N\7M?2A=/_#;C8.ZK0ML^4[H'WY1[9VF0YD_-[V8@"E;45G^
MKZO5JM^+39=SL'ZI^T#3S#S2E$VD^AO/,RH@QYFB=,Y;ZG7B95]63B1;FM9F
MPJ2J #-<J%X6N0Y0SV>,R8>)WJ#JCJ,_4$L#!!0    ( *>&KUB'GB"IYP(
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
M F)B%C*I+?13YRHWS<0Q'<DP5)PSN*YB8A8RB2W4Z\A0IYN8A4QJ"_UJK>
M#3$Q"YG4X[3>G6[[S)%*[/8IN! 379&_H(5D'(4J<;IM23RU/=MW8(5D8A8R
M+[K^\N;RA)B8A<P+MD&P2U?%9R36T.DF9B'S@A;J81YR/<3$+&126Z@_YWB=
MDN#C(IB%+&(+]1:\<$S,0M8%>R%7A%$@IC&(+,3$+&1=L!?R99LV>Z,DB(E9
MR"*V$#+E>AU-S$+6!2T4J"HSB+J5B>/P"U9(%F8AZX(6"MK5NYBS.?=YT#4;
M,&]:Z)-A%^R%6B-=>6*M^([#?SB7L3 +6=060D>;L &V, M9U!9ZO6#;SYT0
M$[.0U5EHV'VYOKW9IKNL2+>^^HM:;=\D^695L?;E\."28;8/(NR>\MQ1VV3A
ME<GV]*SPZ3GGVW\!4$L#!!0    ( *>&KUB7=W+D+ (  /8H   :    >&PO
M7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/-VDM.XT 4A>&M1%X E;JO0(LPZ@E3
MQ :L4'F()(Y<;@&[[R@,DF/UH"?(9V25+5__HT]6V8\O9=\.N^Y8M[M3G7T>
M]L>Z;+;#</J54EUMRZ&M=]VI',]7UEU_:(?SLM^D4[MZ;S<ER7P>J;^=T3P]
MWLZ<O7Z=RO],[-;KW:K\[E9_#N4X_&-P^NCZ][HM96AFKVV_*<.R29_[Z^F:
M+H=\=Y[<S)[?EDW__):;-'600)!,'Z00I-,'&039]$$.03Y]4$!03!^T@*#%
M]$'W$'0_?= #!#U,'Y3G*..<(&F$-8'6&;G.!%YG!#L3B)V1[$Q@=D:T,X':
M&=G.!&YGA#L3R)V1[DQ@=T:\,X'>@GH+@=Z">@N!WC)ZV2;06U!O(=!;4&\A
MT%M0;R'06U!O(=!;4&\AT%M0;R'06U!O(=!;46\ET%M1;R706U%O)=!;1YLE
M!'HKZJT$>BOJK01Z*^JM!'HKZJT$>BOJK01Z*^JM!'H;ZFT$>AOJ;01Z&^IM
M!'H;ZFT$>MMHLYM ;T.]C4!O0[V-0&]#O8U ;T.]C4!O0[V-0&]'O9U ;T>]
MG4!O1[V=0&]'O9U ;T>]G4!O'WVL)-#;46\GT-M1;R?0VU%O)]#;46\GT#M0
M[R#0.U#O(- [4.\@T#M0[R#0.U#O(- [4.\@T#M&/YL0Z!VH=Q#H':AW$.@=
MJ'?\I-YU^-J7>NWY7N-/03])]7"^MUP??UE^GT2<%Q><TVU%??H+4$L#!!0
M   ( *>&KUC62",N]P$  "LH   3    6T-O;G1E;G1?5'EP97-=+GAM;,W:
MRT[#,! %T%^ILD6-ZR</T6Z +;#@!TPRI5&3V+)=*'^/DP(2""I0D;B;1JWM
MN1./=%8]OWOV%"?;KNWCO%BEY,\8B]6*.AM+YZG/*TL7.IORU_# O*W6]H&8
MF,T,JUR?J$_3--0H%N>7M+2;-DVNMOGGV+A^7@1J8S&YV&T<LN:%];YM*IOR
M.GOLZT\IT]>$,I\<]\15X^-1WE"P+Q.&E>\#7L_=/%((34V36QO2M>WR+K9M
M64S/+<5R?XDO>G3+95-1[:I-EX^4T0>R=5P1I:XM=T6/]B>G?,.T^^0'YX]E
M]@7FG;?!^9@G%NCW<6\C&4Y/?2Y$(37[7_$],9<^^/UHF'9-]0^S\_4^N; >
MYQ'9^#C\CC_.^+W^+_L0('U(D#X42!\:I \#TL<Q2!\G('V<@O3!9RB-H(C*
M44CE**9R%%0YBJH<A56.XBI'@96CR"I09!4HL@H4606*K )%5H$BJT"15:#(
M*E!D%2BR2A19)8JL$D56B2*K1)%5HL@J4625*+)*%%DEBJP*15:%(JM"D56A
MR*I09%4HLBH4616*K I%5H4BJT:15:/(JE%DU2BR:A19-8JL&D56C2*K1I%5
MH\AJ4&0U*+(:%%D-BJP&15:#(JM!D=6@R&I09#7_*>N]<^L_CA^?96>;_BV?
MC?\17+P 4$L! A0#%     @ IH:O6 =!36*!    L0   !
M ( !     &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4    " "FAJ]8$TSR[^\
M   K @  $0              @ &O    9&]C4')O<',O8V]R92YX;6Q02P$"
M% ,4    " "FAJ]8F5R<(Q &  "<)P  $P              @ '- 0  >&PO
M=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0    ( *:&KU@8&>B"W 4  )\?   8
M              " @0X(  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"
M% ,4    " "FAJ]8M\Q8:/4&   ;'@  &               @($@#@  >&PO
M=V]R:W-H965T<R]S:&5E=#(N>&UL4$L! A0#%     @ IH:O6 RZELK) @
MF0@  !@              ("!2Q4  'AL+W=O<FMS:&5E=',O<VAE970S+GAM
M;%!+ 0(4 Q0    ( *:&KUB2K9%N\@<  -,B   8              " @4H8
M  !X;"]W;W)K<VAE971S+W-H965T-"YX;6Q02P$"% ,4    " "FAJ]8-UFM
MDV4'  !5'P  &               @(%R(   >&PO=V]R:W-H965T<R]S:&5E
M=#4N>&UL4$L! A0#%     @ IH:O6*U"/IAG!@  8RD  !@
M ("!#2@  'AL+W=O<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0    ( *:&
MKUB$^S-KG04  %0,   8              " @:HN  !X;"]W;W)K<VAE971S
M+W-H965T-RYX;6Q02P$"% ,4    " "FAJ]8EGM21> <   N5   &
M        @(%]-   >&PO=V]R:W-H965T<R]S:&5E=#@N>&UL4$L! A0#%
M  @ IH:O6(B^.6(I!0  ]@L  !@              ("!DU$  'AL+W=O<FMS
M:&5E=',O<VAE970Y+GAM;%!+ 0(4 Q0    ( *:&KUAT6ZUI@@(  (\%   9
M              " @?)6  !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL4$L!
M A0#%     @ IH:O6%_YMYA] @  7P4  !D              ("!JUD  'AL
M+W=O<FMS:&5E=',O<VAE970Q,2YX;6Q02P$"% ,4    " "FAJ]8]>2&3SH$
M  !M"0  &0              @(%?7   >&PO=V]R:W-H965T<R]S:&5E=#$R
M+GAM;%!+ 0(4 Q0    ( *:&KU@#Q'3]I0,  /T(   9              "
M@=!@  !X;"]W;W)K<VAE971S+W-H965T,3,N>&UL4$L! A0#%     @ IH:O
M6/F$DN:: @  Q@4  !D              ("!K&0  'AL+W=O<FMS:&5E=',O
M<VAE970Q-"YX;6Q02P$"% ,4    " "FAJ]8-L7T<7D%   2#   &0
M        @(%]9P  >&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+ 0(4 Q0
M   ( *:&KUA94??/^ 0   <.   9              " @2UM  !X;"]W;W)K
M<VAE971S+W-H965T,38N>&UL4$L! A0#%     @ IH:O6*1)FNN[!   R H
M !D              ("!7'(  'AL+W=O<FMS:&5E=',O<VAE970Q-RYX;6Q0
M2P$"% ,4    " "FAJ]8JPC%') %   Y#   &0              @(%.=P
M>&PO=V]R:W-H965T<R]S:&5E=#$X+GAM;%!+ 0(4 Q0    ( *:&KUCJ$2>@
M6P(  &@%   9              " @15]  !X;"]W;W)K<VAE971S+W-H965T
M,3DN>&UL4$L! A0#%     @ IH:O6,0N64O:!   ]PH  !D
M ("!IW\  'AL+W=O<FMS:&5E=',O<VAE970R,"YX;6Q02P$"% ,4    " "F
MAJ]8A.,;P3\&  !>#0  &0              @(&XA   >&PO=V]R:W-H965T
M<R]S:&5E=#(Q+GAM;%!+ 0(4 Q0    ( *:&KUB_U_XK1P(  "D%   9
M          " @2Z+  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL4$L! A0#
M%     @ IH:O6&\5O$<W @  XP0  !D              ("!K(T  'AL+W=O
M<FMS:&5E=',O<VAE970R,RYX;6Q02P$"% ,4    " "FAJ]80TX)M(\=   Y
M70  &0              @($:D   >&PO=V]R:W-H965T<R]S:&5E=#(T+GAM
M;%!+ 0(4 Q0    ( *:&KUA=VR6C_@(  'T&   9              " @>"M
M  !X;"]W;W)K<VAE971S+W-H965T,C4N>&UL4$L! A0#%     @ IH:O6+V$
M.H\W P  < <  !D              ("!%;$  'AL+W=O<FMS:&5E=',O<VAE
M970R-BYX;6Q02P$"% ,4    " "FAJ]82S6N[8<"  ".!0  &0
M    @(&#M   >&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4 Q0    (
M *:&KUBO-:%F@P(  &0%   9              " @4&W  !X;"]W;W)K<VAE
M971S+W-H965T,C@N>&UL4$L! A0#%     @ IH:O6#D^(;B= P  1@@  !D
M             ("!^[D  'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6Q02P$"
M% ,4    " "FAJ]8(<(^R'T#  #I"   &0              @('/O0  >&PO
M=V]R:W-H965T<R]S:&5E=#,P+GAM;%!+ 0(4 Q0    ( *:&KUA[L+^>G@(
M ,4%   9              " @8/!  !X;"]W;W)K<VAE971S+W-H965T,S$N
M>&UL4$L! A0#%     @ IH:O6 _S5;G)!   W0P  !D              ("!
M6,0  'AL+W=O<FMS:&5E=',O<VAE970S,BYX;6Q02P$"% ,4    " "FAJ]8
MK2Q$2=T#  !O"0  &0              @(%8R0  >&PO=V]R:W-H965T<R]S
M:&5E=#,S+GAM;%!+ 0(4 Q0    ( *:&KUBVFXHBYP,  %D)   9
M      " @6S-  !X;"]W;W)K<VAE971S+W-H965T,S0N>&UL4$L! A0#%
M  @ IH:O6"Z%/M8! P  I <  !D              ("!BM$  'AL+W=O<FMS
M:&5E=',O<VAE970S-2YX;6Q02P$"% ,4    " "FAJ]85K6X80 %  !S"P
M&0              @('"U   >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM;%!+
M 0(4 Q0    ( *:&KUC#FX;:R@,  !T3   9              " @?G9  !X
M;"]W;W)K<VAE971S+W-H965T,S<N>&UL4$L! A0#%     @ IH:O6#=;D*NE
M P  C!(  !D              ("!^MT  'AL+W=O<FMS:&5E=',O<VAE970S
M."YX;6Q02P$"% ,4    " "FAJ]8RC"&!+D'  #K-0  &0
M@('6X0  >&PO=V]R:W-H965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0    ( *:&
MKU@K=UHAR0,  $H.   9              " @<;I  !X;"]W;W)K<VAE971S
M+W-H965T-# N>&UL4$L! A0#%     @ IH:O6+@V %WH 0  ]0,  !D
M         ("!QNT  'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6Q02P$"% ,4
M    " "FAJ]8^7L2@88"  !;!@  &0              @('E[P  >&PO=V]R
M:W-H965T<R]S:&5E=#0R+GAM;%!+ 0(4 Q0    ( *:&KUA%J9CL@@(  $4&
M   9              " @:+R  !X;"]W;W)K<VAE971S+W-H965T-#,N>&UL
M4$L! A0#%     @ IH:O6-X;*D"4!0  D2,  !D              ("!6_4
M 'AL+W=O<FMS:&5E=',O<VAE970T-"YX;6Q02P$"% ,4    " "FAJ]8?JF_
M$G,"  "S!0  &0              @($F^P  >&PO=V]R:W-H965T<R]S:&5E
M=#0U+GAM;%!+ 0(4 Q0    ( *:&KU@X;1M:10,  .\*   9
M  " @=#]  !X;"]W;W)K<VAE971S+W-H965T-#8N>&UL4$L! A0#%     @
MIH:O6 BX6,!Y @  %08  !D              ("!3 $! 'AL+W=O<FMS:&5E
M=',O<VAE970T-RYX;6Q02P$"% ,4    " "FAJ]8$<1UI#L"   5!0  &0
M            @('\ P$ >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM;%!+ 0(4
M Q0    ( *:&KUBV75G.(0(  /$$   9              " @6X& 0!X;"]W
M;W)K<VAE971S+W-H965T-#DN>&UL4$L! A0#%     @ IH:O6+_M@5"( P
M>PD  !D              ("!Q@@! 'AL+W=O<FMS:&5E=',O<VAE970U,"YX
M;6Q02P$"% ,4    " "FAJ]8#!@M>;$#   >#P  &0              @(&%
M# $ >&PO=V]R:W-H965T<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0    ( *:&KU@\
M_V%MX@(  !L'   9              " @6T0 0!X;"]W;W)K<VAE971S+W-H
M965T-3(N>&UL4$L! A0#%     @ IH:O6 ^(2/NN"P  5+(  !D
M     ("!AA,! 'AL+W=O<FMS:&5E=',O<VAE970U,RYX;6Q02P$"% ,4
M" "FAJ]8WN/#8<$%   !)P  &0              @(%K'P$ >&PO=V]R:W-H
M965T<R]S:&5E=#4T+GAM;%!+ 0(4 Q0    ( *:&KUB:4MK^W0(  ,H'   9
M              " @6,E 0!X;"]W;W)K<VAE971S+W-H965T-34N>&UL4$L!
M A0#%     @ IH:O6 'M8'J1!   I1T  !D              ("!=R@! 'AL
M+W=O<FMS:&5E=',O<VAE970U-BYX;6Q02P$"% ,4    " "FAJ]8P(B=1-@)
M  #&=   &0              @($_+0$ >&PO=V]R:W-H965T<R]S:&5E=#4W
M+GAM;%!+ 0(4 Q0    ( *:&KUCA9C89YP0  *\:   9              "
M@4XW 0!X;"]W;W)K<VAE971S+W-H965T-3@N>&UL4$L! A0#%     @ IH:O
M6.L3Z'=! P  #PL  !D              ("!;#P! 'AL+W=O<FMS:&5E=',O
M<VAE970U.2YX;6Q02P$"% ,4    " "FAJ]8]PO+5B@%  #3'   &0
M        @('D/P$ >&PO=V]R:W-H965T<R]S:&5E=#8P+GAM;%!+ 0(4 Q0
M   ( *:&KUA@J ZM90,  #<.   9              " @4-% 0!X;"]W;W)K
M<VAE971S+W-H965T-C$N>&UL4$L! A0#%     @ IH:O6"MJ$,H"!   [A
M !D              ("!WT@! 'AL+W=O<FMS:&5E=',O<VAE970V,BYX;6Q0
M2P$"% ,4    " "FAJ]8Z>$%-+H#  !5#0  &0              @($830$
M>&PO=V]R:W-H965T<R]S:&5E=#8S+GAM;%!+ 0(4 Q0    ( *:&KU@_GQ_%
M5 0  *X4   9              " @0E1 0!X;"]W;W)K<VAE971S+W-H965T
M-C0N>&UL4$L! A0#%     @ IX:O6$M%]0AT!0  71P  !D
M ("!E%4! 'AL+W=O<FMS:&5E=',O<VAE970V-2YX;6Q02P$"% ,4    " "G
MAJ]8YFJDXB0#   I"P  &0              @($_6P$ >&PO=V]R:W-H965T
M<R]S:&5E=#8V+GAM;%!+ 0(4 Q0    ( *>&KUB'GB"IYP(  'P*   9
M          " @9I> 0!X;"]W;W)K<VAE971S+W-H965T-C<N>&UL4$L! A0#
M%     @ IX:O6#SX>G!# P  I0D  !D              ("!N&$! 'AL+W=O
M<FMS:&5E=',O<VAE970V."YX;6Q02P$"% ,4    " "GAJ]8OQC//F$"  #8
M!P  &0              @($R90$ >&PO=V]R:W-H965T<R]S:&5E=#8Y+GAM
M;%!+ 0(4 Q0    ( *>&KUBX%<C9-P,  -(3   -              "  <IG
M 0!X;"]S='EL97,N>&UL4$L! A0#%     @ IX:O6)>*NQS     $P(   L
M             ( !+&L! %]R96QS+RYR96QS4$L! A0#%     @ IX:O6 3C
M3X^B!0  :RT   \              ( !%6P! 'AL+W=O<FMB;V]K+GAM;%!+
M 0(4 Q0    ( *>&KUB7=W+D+ (  /8H   :              "  >1Q 0!X
M;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4 Q0    ( *>&KUC62",N
M]P$  "LH   3              "  4AT 0!;0V]N=&5N=%]4>7!E<UTN>&UL
64$L%!@    !- $T $A4  '!V 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<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>82
<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>84
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1.1.u2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>238</ContextCount>
  <ElementCount>311</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>79</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>7</UnitCount>
  <MyReports>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00000002 - Statement - Condensed Interim Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets</Role>
      <ShortName>Condensed Interim Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00000003 - Statement - Condensed Interim Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Condensed Interim Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00000004 - Statement - Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Loss) (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss</Role>
      <ShortName>Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Loss) (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00000005 - Statement - Condensed Interim Consolidated Statements of Cash Flows (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows</Role>
      <ShortName>Condensed Interim Consolidated Statements of Cash Flows (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00000006 - Statement - Condensed Interim Consolidated Statements of Stockholders' Equity (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity</Role>
      <ShortName>Condensed Interim Consolidated Statements of Stockholders' Equity (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>00000007 - Disclosure - BASIS OF PRESENTATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/BasisOfPresentation</Role>
      <ShortName>BASIS OF PRESENTATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>00000008 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SignificantAccountingPolicies</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>00000009 - Disclosure - LEASES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Leases</Role>
      <ShortName>LEASES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>00000010 - Disclosure - ACCOUNTS RECEIVABLE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/AccountsReceivable</Role>
      <ShortName>ACCOUNTS RECEIVABLE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>00000011 - Disclosure - INVENTORIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Inventories</Role>
      <ShortName>INVENTORIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>00000012 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds</Role>
      <ShortName>PROPERTY, EQUIPMENT AND LEASEHOLDS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>00000013 - Disclosure - GOODWILL AND INTANGIBLE ASSETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets</Role>
      <ShortName>GOODWILL AND INTANGIBLE ASSETS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>00000014 - Disclosure - LONG TERM DEPOSITS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LongTermDeposits</Role>
      <ShortName>LONG TERM DEPOSITS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>00000015 - Disclosure - INVESTMENTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Investments</Role>
      <ShortName>INVESTMENTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>00000016 - Disclosure - SHORT-TERM LINE OF CREDIT</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Short-termLineOfCredit</Role>
      <ShortName>SHORT-TERM LINE OF CREDIT</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>00000017 - Disclosure - LONG TERM DEBT</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LongTermDebt</Role>
      <ShortName>LONG TERM DEBT</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>00000018 - Disclosure - STOCK OPTIONS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/StockOptions</Role>
      <ShortName>STOCK OPTIONS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>00000019 - Disclosure - CAPITAL STOCK</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/CapitalStock</Role>
      <ShortName>CAPITAL STOCK</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>00000020 - Disclosure - NON-CONTROLLING INTERESTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Non-controllingInterests</Role>
      <ShortName>NON-CONTROLLING INTERESTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>00000021 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency</Role>
      <ShortName>SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>00000022 - Disclosure - COMPARATIVE FIGURES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ComparativeFigures</Role>
      <ShortName>COMPARATIVE FIGURES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>00000023 - Disclosure - SUBSEQUENT EVENTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SubsequentEvents</Role>
      <ShortName>SUBSEQUENT EVENTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>00000024 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>00000025 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/SignificantAccountingPolicies</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>00000026 - Disclosure - LEASES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LeasesTables</Role>
      <ShortName>LEASES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Leases</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>00000027 - Disclosure - ACCOUNTS RECEIVABLE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/AccountsReceivableTables</Role>
      <ShortName>ACCOUNTS RECEIVABLE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/AccountsReceivable</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>00000028 - Disclosure - INVENTORIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/InventoriesTables</Role>
      <ShortName>INVENTORIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Inventories</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>00000029 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables</Role>
      <ShortName>PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>00000030 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables</Role>
      <ShortName>GOODWILL AND INTANGIBLE ASSETS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>00000031 - Disclosure - LONG TERM DEPOSITS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LongTermDepositsTables</Role>
      <ShortName>LONG TERM DEPOSITS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/LongTermDeposits</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>00000032 - Disclosure - INVESTMENTS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/InvestmentsTables</Role>
      <ShortName>INVESTMENTS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Investments</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>00000033 - Disclosure - LONG TERM DEBT (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LongTermDebtTables</Role>
      <ShortName>LONG TERM DEBT (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/LongTermDeposits</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>00000034 - Disclosure - STOCK OPTIONS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/StockOptionsTables</Role>
      <ShortName>STOCK OPTIONS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/StockOptions</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>00000035 - Disclosure - NON-CONTROLLING INTERESTS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Non-controllingInterestsTables</Role>
      <ShortName>NON-CONTROLLING INTERESTS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Non-controllingInterests</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>00000036 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables</Role>
      <ShortName>SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>00000037 - Disclosure - BASIS OF PRESENTATION (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative</Role>
      <ShortName>BASIS OF PRESENTATION (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/BasisOfPresentation</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>00000038 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails</Role>
      <ShortName>SCHEDULE OF METHOD OF DEPRECIATION (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>00000039 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative</Role>
      <ShortName>SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>00000040 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails</Role>
      <ShortName>SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>00000041 - Disclosure - LEASES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LeasesDetailsNarrative</Role>
      <ShortName>LEASES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/LeasesTables</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>00000042 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails</Role>
      <ShortName>SCHEDULE OF ACCOUNTS RECEIVABLE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>00000043 - Disclosure - SCHEDULE OF INVENTORY (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfInventoryDetails</Role>
      <ShortName>SCHEDULE OF INVENTORY (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>00000044 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails</Role>
      <ShortName>SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>00000045 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative</Role>
      <ShortName>PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>00000046 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails</Role>
      <ShortName>SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>00000047 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails</Role>
      <ShortName>SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>00000048 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative</Role>
      <ShortName>GOODWILL AND INTANGIBLE ASSETS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>00000049 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails</Role>
      <ShortName>SCHEDULE OF LONG TERM DEPOSITS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>00000050 - Disclosure - SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails</Role>
      <ShortName>SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>00000051 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails</Role>
      <ShortName>SCHEDULE OF EQUITY METHOD INVESTMENT (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>00000052 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails</Role>
      <ShortName>SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>00000053 - Disclosure - INVESTMENTS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/InvestmentsDetailsNarrative</Role>
      <ShortName>INVESTMENTS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/InvestmentsTables</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>00000054 - Disclosure - SHORT-TERM LINE OF CREDIT (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative</Role>
      <ShortName>SHORT-TERM LINE OF CREDIT (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Short-termLineOfCredit</ParentRole>
      <Position>54</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>00000055 - Disclosure - SCHEDULE OF LOAN COVENANTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails</Role>
      <ShortName>SCHEDULE OF LOAN COVENANTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>00000056 - Disclosure - SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails</Role>
      <ShortName>SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>00000057 - Disclosure - LONG TERM DEBT (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative</Role>
      <ShortName>LONG TERM DEBT (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/LongTermDepositsTables</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>00000058 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails</Role>
      <ShortName>SCHEDULE OF STOCK OPTION ACTIVITIES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>00000059 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails</Role>
      <ShortName>SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>00000060 - Disclosure - STOCK OPTIONS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/StockOptionsDetailsNarrative</Role>
      <ShortName>STOCK OPTIONS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/StockOptionsTables</ParentRole>
      <Position>60</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>00000061 - Disclosure - CAPITAL STOCK (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/CapitalStockDetailsNarrative</Role>
      <ShortName>CAPITAL STOCK (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/CapitalStock</ParentRole>
      <Position>61</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>00000062 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails</Role>
      <ShortName>SCHEDULE OF DISTRIBUTIONS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>00000063 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails</Role>
      <ShortName>SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>00000064 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative</Role>
      <ShortName>NON-CONTROLLING INTERESTS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/Non-controllingInterestsTables</ParentRole>
      <Position>64</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>00000065 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails</Role>
      <ShortName>SCHEDULE OF REPORTABLE SEGMENTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>00000066 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails</Role>
      <ShortName>SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>00000067 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails</Role>
      <ShortName>SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>00000068 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative</Role>
      <ShortName>SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables</ParentRole>
      <Position>68</Position>
    </Report>
    <Report instance="form10-q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>00000069 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative</Role>
      <ShortName>SUBSEQUENT EVENTS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://flexiblesolutions.com/role/SubsequentEvents</ParentRole>
      <Position>69</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">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 1 fact(s) appearing in ix:hidden were eligible for transformation: dei:EntityIncorporationStateCountryCode -  form10-q.htm 30</Log>
  </Logs>
  <InputFiles>
    <File doctype="10-Q" isDefinitelyFs="true" isUsgaap="true" original="form10-q.htm">form10-q.htm</File>
    <File>fsi-20240331.xsd</File>
    <File>fsi-20240331_cal.xml</File>
    <File>fsi-20240331_def.xml</File>
    <File>fsi-20240331_lab.xml</File>
    <File>fsi-20240331_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="719">http://fasb.org/us-gaap/2024</BaseTaxonomy>
    <BaseTaxonomy items="30">http://xbrl.sec.gov/dei/2024</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>87
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "form10-q.htm": {
   "nsprefix": "FSI",
   "nsuri": "http://flexiblesolutions.com/20240331",
   "dts": {
    "inline": {
     "local": [
      "form10-q.htm"
     ]
    },
    "schema": {
     "local": [
      "fsi-20240331.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd",
      "https://xbrl.sec.gov/country/2024/country-2024.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024.xsd",
      "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "fsi-20240331_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "fsi-20240331_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "fsi-20240331_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "fsi-20240331_pre.xml"
     ]
    }
   },
   "keyStandard": 267,
   "keyCustom": 44,
   "axisStandard": 25,
   "axisCustom": 0,
   "memberStandard": 28,
   "memberCustom": 47,
   "hidden": {
    "total": 68,
    "http://fasb.org/us-gaap/2024": 60,
    "http://xbrl.sec.gov/dei/2024": 5,
    "http://flexiblesolutions.com/20240331": 3
   },
   "contextCount": 238,
   "entityCount": 1,
   "segmentCount": 79,
   "elementCount": 526,
   "unitCount": 7,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2024": 719,
    "http://xbrl.sec.gov/dei/2024": 30
   },
   "report": {
    "R1": {
     "role": "http://flexiblesolutions.com/role/Cover",
     "longName": "00000001 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "b",
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
     "longName": "00000002 - Statement - Condensed Interim Consolidated Balance Sheets",
     "shortName": "Condensed Interim Consolidated Balance Sheets",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:Cash",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:DepositsAssetsCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R3": {
     "role": "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical",
     "longName": "00000003 - Statement - Condensed Interim Consolidated Balance Sheets (Parenthetical)",
     "shortName": "Condensed Interim Consolidated Balance Sheets (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:CommonStockSharesAuthorized",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:CommonStockSharesAuthorized",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
     "longName": "00000004 - Statement - Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Loss) (Unaudited)",
     "shortName": "Condensed Interim Consolidated Statements of Operations and Comprehensive Income (Loss) (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:GrossProfit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows",
     "longName": "00000005 - Statement - Condensed Interim Consolidated Statements of Cash Flows (Unaudited)",
     "shortName": "Condensed Interim Consolidated Statements of Cash Flows (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:ShareBasedCompensation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity",
     "longName": "00000006 - Statement - Condensed Interim Consolidated Statements of Stockholders' Equity (Unaudited)",
     "shortName": "Condensed Interim Consolidated Statements of Stockholders' Equity (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "AsOf2022-12-31_us-gaap_CommonStockMember",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2022-12-31_us-gaap_CommonStockMember",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "role": "http://flexiblesolutions.com/role/BasisOfPresentation",
     "longName": "00000007 - Disclosure - BASIS OF PRESENTATION",
     "shortName": "BASIS OF PRESENTATION",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "7",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://flexiblesolutions.com/role/SignificantAccountingPolicies",
     "longName": "00000008 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://flexiblesolutions.com/role/Leases",
     "longName": "00000009 - Disclosure - LEASES",
     "shortName": "LEASES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://flexiblesolutions.com/role/AccountsReceivable",
     "longName": "00000010 - Disclosure - ACCOUNTS RECEIVABLE",
     "shortName": "ACCOUNTS RECEIVABLE",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:FinancingReceivablesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:FinancingReceivablesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://flexiblesolutions.com/role/Inventories",
     "longName": "00000011 - Disclosure - INVENTORIES",
     "shortName": "INVENTORIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds",
     "longName": "00000012 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS",
     "shortName": "PROPERTY, EQUIPMENT AND LEASEHOLDS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets",
     "longName": "00000013 - Disclosure - GOODWILL AND INTANGIBLE ASSETS",
     "shortName": "GOODWILL AND INTANGIBLE ASSETS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://flexiblesolutions.com/role/LongTermDeposits",
     "longName": "00000014 - Disclosure - LONG TERM DEPOSITS",
     "shortName": "LONG TERM DEPOSITS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "FSI:LongTermDepositsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "FSI:LongTermDepositsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://flexiblesolutions.com/role/Investments",
     "longName": "00000015 - Disclosure - INVESTMENTS",
     "shortName": "INVESTMENTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://flexiblesolutions.com/role/Short-termLineOfCredit",
     "longName": "00000016 - Disclosure - SHORT-TERM LINE OF CREDIT",
     "shortName": "SHORT-TERM LINE OF CREDIT",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:ShortTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:ShortTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://flexiblesolutions.com/role/LongTermDebt",
     "longName": "00000017 - Disclosure - LONG TERM DEBT",
     "shortName": "LONG TERM DEBT",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:LongTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:LongTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://flexiblesolutions.com/role/StockOptions",
     "longName": "00000018 - Disclosure - STOCK OPTIONS",
     "shortName": "STOCK OPTIONS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://flexiblesolutions.com/role/CapitalStock",
     "longName": "00000019 - Disclosure - CAPITAL STOCK",
     "shortName": "CAPITAL STOCK",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://flexiblesolutions.com/role/Non-controllingInterests",
     "longName": "00000020 - Disclosure - NON-CONTROLLING INTERESTS",
     "shortName": "NON-CONTROLLING INTERESTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:MinorityInterestDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:MinorityInterestDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency",
     "longName": "00000021 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY",
     "shortName": "SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://flexiblesolutions.com/role/ComparativeFigures",
     "longName": "00000022 - Disclosure - COMPARATIVE FIGURES",
     "shortName": "COMPARATIVE FIGURES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "FSI:ComparativeFiguresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "FSI:ComparativeFiguresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://flexiblesolutions.com/role/SubsequentEvents",
     "longName": "00000023 - Disclosure - SUBSEQUENT EVENTS",
     "shortName": "SUBSEQUENT EVENTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies",
     "longName": "00000024 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "24",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:CashAndCashEquivalentsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:CashAndCashEquivalentsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables",
     "longName": "00000025 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "25",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "FSI:ScheduleOfMethodOfDepreciationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "FSI:ScheduleOfMethodOfDepreciationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://flexiblesolutions.com/role/LeasesTables",
     "longName": "00000026 - Disclosure - LEASES (Tables)",
     "shortName": "LEASES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "26",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://flexiblesolutions.com/role/AccountsReceivableTables",
     "longName": "00000027 - Disclosure - ACCOUNTS RECEIVABLE (Tables)",
     "shortName": "ACCOUNTS RECEIVABLE (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:FinancingReceivablesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:FinancingReceivablesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://flexiblesolutions.com/role/InventoriesTables",
     "longName": "00000028 - Disclosure - INVENTORIES (Tables)",
     "shortName": "INVENTORIES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables",
     "longName": "00000029 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)",
     "shortName": "PROPERTY, EQUIPMENT AND LEASEHOLDS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables",
     "longName": "00000030 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Tables)",
     "shortName": "GOODWILL AND INTANGIBLE ASSETS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://flexiblesolutions.com/role/LongTermDepositsTables",
     "longName": "00000031 - Disclosure - LONG TERM DEPOSITS (Tables)",
     "shortName": "LONG TERM DEPOSITS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "FSI:ScheduleOfLongTermDepositsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "FSI:LongTermDepositsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "FSI:ScheduleOfLongTermDepositsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "FSI:LongTermDepositsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://flexiblesolutions.com/role/InvestmentsTables",
     "longName": "00000032 - Disclosure - INVESTMENTS (Tables)",
     "shortName": "INVESTMENTS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "From2024-01-012024-03-31_custom_EnpPeruInvestmentsLlcMember",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-03-31_custom_EnpPeruInvestmentsLlcMember",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://flexiblesolutions.com/role/LongTermDebtTables",
     "longName": "00000033 - Disclosure - LONG TERM DEBT (Tables)",
     "shortName": "LONG TERM DEBT (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "FSI:ScheduleOfLoanCovenantsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "FSI:ScheduleOfLoanCovenantsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://flexiblesolutions.com/role/StockOptionsTables",
     "longName": "00000034 - Disclosure - STOCK OPTIONS (Tables)",
     "shortName": "STOCK OPTIONS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://flexiblesolutions.com/role/Non-controllingInterestsTables",
     "longName": "00000035 - Disclosure - NON-CONTROLLING INTERESTS (Tables)",
     "shortName": "NON-CONTROLLING INTERESTS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "FSI:ScheduleOfDistributionsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "FSI:ScheduleOfDistributionsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables",
     "longName": "00000036 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)",
     "shortName": "SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "36",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
     "longName": "00000037 - Disclosure - BASIS OF PRESENTATION (Details Narrative)",
     "shortName": "BASIS OF PRESENTATION (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "37",
     "firstAnchor": {
      "contextRef": "From2024-01-012024-03-31_custom_MendotaLLCMember",
      "name": "us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31_custom_MendotaLLCMember_custom_UnrelatedPartyMember",
      "name": "us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R38": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
     "longName": "00000038 - Disclosure - SCHEDULE OF METHOD OF DEPRECIATION (Details)",
     "shortName": "SCHEDULE OF METHOD OF DEPRECIATION (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "From2024-01-012024-03-31_us-gaap_MachineryAndEquipmentMember",
      "name": "FSI:DepreciationMethodUsedAndAnnualRate",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfMethodOfDepreciationTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-03-31_us-gaap_MachineryAndEquipmentMember",
      "name": "FSI:DepreciationMethodUsedAndAnnualRate",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfMethodOfDepreciationTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative",
     "longName": "00000039 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)",
     "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-03-31_custom_InvestmentMember",
      "name": "us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:EquityMethodInvestmentsPolicy",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R40": {
     "role": "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails",
     "longName": "00000040 - Disclosure - SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)",
     "shortName": "SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:OperatingLeaseLeaseIncomeLeasePayments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:OperatingLeaseLeaseIncomeLeasePayments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://flexiblesolutions.com/role/LeasesDetailsNarrative",
     "longName": "00000041 - Disclosure - LEASES (Details Narrative)",
     "shortName": "LEASES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:LesseeOperatingLeaseDiscountRate",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:LesseeOperatingLeaseDiscountRate",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails",
     "longName": "00000042 - Disclosure - SCHEDULE OF ACCOUNTS RECEIVABLE (Details)",
     "shortName": "SCHEDULE OF ACCOUNTS RECEIVABLE (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:AccountsReceivableGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "us-gaap:FinancingReceivablesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:AccountsReceivableGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "us-gaap:FinancingReceivablesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails",
     "longName": "00000043 - Disclosure - SCHEDULE OF INVENTORY (Details)",
     "shortName": "SCHEDULE OF INVENTORY (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:InventoryFinishedGoods",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:InventoryFinishedGoods",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails",
     "longName": "00000044 - Disclosure - SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)",
     "shortName": "SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative",
     "longName": "00000045 - Disclosure - PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)",
     "shortName": "PROPERTY, EQUIPMENT AND LEASEHOLDS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:Depreciation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:Depreciation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails",
     "longName": "00000046 - Disclosure - SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)",
     "shortName": "SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:Goodwill",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill",
       "us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill",
       "span",
       "span",
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R47": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails",
     "longName": "00000047 - Disclosure - SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)",
     "shortName": "SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-31_us-gaap_FiniteLivedIntangibleAssetsMember",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-31_us-gaap_FiniteLivedIntangibleAssetsMember",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative",
     "longName": "00000048 - Disclosure - GOODWILL AND INTANGIBLE ASSETS (Details Narrative)",
     "shortName": "GOODWILL AND INTANGIBLE ASSETS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails",
     "longName": "00000049 - Disclosure - SCHEDULE OF LONG TERM DEPOSITS (Details)",
     "shortName": "SCHEDULE OF LONG TERM DEPOSITS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:DepositsAssetsNoncurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R50": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails",
     "longName": "00000050 - Disclosure - SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)",
     "shortName": "SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:BusinessCombinationConsiderationTransferred1",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R51": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
     "longName": "00000051 - Disclosure - SCHEDULE OF EQUITY METHOD INVESTMENT (Details)",
     "shortName": "SCHEDULE OF EQUITY METHOD INVESTMENT (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:EquityMethodInvestments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2022-12-31_custom_EnpPeruInvestmentsLlcMember",
      "name": "us-gaap:EquityMethodInvestments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:EquityMethodInvestmentsTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R52": {
     "role": "http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails",
     "longName": "00000052 - Disclosure - SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)",
     "shortName": "SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:GainsLossesOnSalesOfInvestmentRealEstate",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:GainLossOnInvestmentsTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:GainsLossesOnSalesOfInvestmentRealEstate",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:GainLossOnInvestmentsTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
     "longName": "00000053 - Disclosure - INVESTMENTS (Details Narrative)",
     "shortName": "INVESTMENTS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:BusinessCombinationConsiderationTransferred1",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-10-31",
      "name": "us-gaap:Investments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R54": {
     "role": "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative",
     "longName": "00000054 - Disclosure - SHORT-TERM LINE OF CREDIT (Details Narrative)",
     "shortName": "SHORT-TERM LINE OF CREDIT (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:LinesOfCreditCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-31_us-gaap_NoncontrollingInterestMember_custom_StockYardAndBankMember",
      "name": "FSI:LoanGuaranteedRate",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:ShortTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R55": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails",
     "longName": "00000055 - Disclosure - SCHEDULE OF LOAN COVENANTS (Details)",
     "shortName": "SCHEDULE OF LOAN COVENANTS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:LongTermDebt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfLoanCovenantsTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:ProceedsFromBankDebt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfLoanCovenantsTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R56": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails",
     "longName": "00000056 - Disclosure - SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)",
     "shortName": "SCHEDULE OF OUTSTANDING BALANCE LOAN (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:LongTermDebt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfLoanCovenantsTableTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-31_custom_StockYardsBankTrustMember",
      "name": "us-gaap:LongTermDebt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtInstrumentsTextBlock",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R57": {
     "role": "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative",
     "longName": "00000057 - Disclosure - LONG TERM DEBT (Details Narrative)",
     "shortName": "LONG TERM DEBT (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:InterestExpense",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2022-06-012022-06-30_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember",
      "name": "us-gaap:DebtInstrumentTerm",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:LongTermDebtTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R58": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
     "longName": "00000058 - Disclosure - SCHEDULE OF STOCK OPTION ACTIVITIES (Details)",
     "shortName": "SCHEDULE OF STOCK OPTION ACTIVITIES (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2022-12-31",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R59": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails",
     "longName": "00000059 - Disclosure - SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)",
     "shortName": "SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R60": {
     "role": "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative",
     "longName": "00000060 - Disclosure - STOCK OPTIONS (Details Narrative)",
     "shortName": "STOCK OPTIONS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
     "longName": "00000061 - Disclosure - CAPITAL STOCK (Details Narrative)",
     "shortName": "CAPITAL STOCK (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-012023-03-31",
      "name": "us-gaap:StockIssuedDuringPeriodSharesIssuedForServices",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R62": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
     "longName": "00000062 - Disclosure - SCHEDULE OF DISTRIBUTIONS (Details)",
     "shortName": "SCHEDULE OF DISTRIBUTIONS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:MinorityInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember",
      "name": "us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfDistributionsTableTextBlock",
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R63": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails",
     "longName": "00000063 - Disclosure - SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)",
     "shortName": "SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:MinorityInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember",
      "name": "us-gaap:PaymentsToAcquireBusinessesAndInterestInAffiliates",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "FSI:ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock",
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R64": {
     "role": "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
     "longName": "00000064 - Disclosure - NON-CONTROLLING INTERESTS (Details Narrative)",
     "shortName": "NON-CONTROLLING INTERESTS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-03-31_custom_ENPInvestmentsLLCMember",
      "name": "us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R65": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
     "longName": "00000065 - Disclosure - SCHEDULE OF REPORTABLE SEGMENTS (Details)",
     "shortName": "SCHEDULE OF REPORTABLE SEGMENTS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-03-31_custom_SegmentMember",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R66": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails",
     "longName": "00000066 - Disclosure - SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)",
     "shortName": "SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-012024-03-31_country_CA",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    },
    "R67": {
     "role": "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails",
     "longName": "00000067 - Disclosure - SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)",
     "shortName": "SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:NoncurrentAssets",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-03-31",
      "name": "us-gaap:NoncurrentAssets",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R68": {
     "role": "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative",
     "longName": "00000068 - Disclosure - SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)",
     "shortName": "SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:NumberOfOperatingSegments",
      "unitRef": "Segments",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-03-31",
      "name": "us-gaap:NumberOfOperatingSegments",
      "unitRef": "Segments",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true,
      "unique": true
     }
    },
    "R69": {
     "role": "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative",
     "longName": "00000069 - Disclosure - SUBSEQUENT EVENTS (Details Narrative)",
     "shortName": "SUBSEQUENT EVENTS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "AsOf2023-03-31",
      "name": "us-gaap:DividendsPayableAmountPerShare",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-04-30_us-gaap_SubsequentEventMember",
      "name": "us-gaap:DividendsPayableAmountPerShare",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "span",
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "form10-q.htm",
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsAndNotesReceivableNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsAndNotesReceivableNet",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total accounts receivable",
        "label": "Accounts and Financing Receivable, after Allowance for Credit Loss",
        "documentation": "Amount, after allowance for credit loss, of accounts and financing receivable. Includes, but is not limited to, notes and loan receivable."
       }
      }
     },
     "auth_ref": [
      "r846",
      "r907"
     ]
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r75",
      "r757"
     ]
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/AccountsReceivableTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF ACCOUNTS RECEIVABLE",
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r850"
     ]
    },
    "us-gaap_AccountsReceivableGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableGross",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails": {
       "parentTag": "us-gaap_AccountsAndNotesReceivableNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable",
        "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business."
       }
      }
     },
     "auth_ref": [
      "r187",
      "r279",
      "r280",
      "r907"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable [Member]",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r698"
     ]
    },
    "us-gaap_AccountsReceivableNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableNet",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable related parties",
        "verboseLabel": "Accounts receivable, after allowance for credit loss",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business."
       }
      }
     },
     "auth_ref": [
      "r642",
      "r697",
      "r780",
      "r906",
      "r907"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable, net (Note 4)",
        "verboseLabel": "Accounts receivable",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r846"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued liabilities",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r78"
     ]
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Depreciation",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r178",
      "r558"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other comprehensive loss",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r25",
      "r96",
      "r188",
      "r552",
      "r595",
      "r596"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "AOCI Attributable to Parent [Member]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r17",
      "r25",
      "r449",
      "r452",
      "r495",
      "r591",
      "r592",
      "r822",
      "r823",
      "r824",
      "r834",
      "r835",
      "r836",
      "r837"
     ]
    },
    "FSI_AdditionalEquityMethodInvestmentOwnershipPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "AdditionalEquityMethodInvestmentOwnershipPercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional equity method investment ownership percentage",
        "documentation": "Additional equity method investment ownership percentage."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_AdditionalExpensesDueToOptionsGranted": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "AdditionalExpensesDueToOptionsGranted",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional expenses due to options granted",
        "documentation": "Additional expenses due to options granted."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capital in excess of par value",
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r88",
      "r757",
      "r938"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based compensation",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r57",
      "r383"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income to net cash:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails": {
       "parentTag": "us-gaap_AccountsAndNotesReceivableNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Allowances for doubtful accounts",
        "label": "Allowance for Doubtful Accounts, Premiums and Other Receivables",
        "documentation": "The valuation allowance as of the balance sheet date to reduce the gross amount of receivables to estimated net realizable value, which would be presented in parentheses on the face of the balance sheet."
       }
      }
     },
     "auth_ref": [
      "r847"
     ]
    },
    "dei_AmendmentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentDescription",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Description",
        "documentation": "Description of changes contained within amended document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Amortization",
        "label": "Amortization of Intangible Assets",
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r311",
      "r313",
      "r732"
     ]
    },
    "dei_AnnualInformationForm": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AnnualInformationForm",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Annual Information Form",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing an annual information form."
       }
      }
     },
     "auth_ref": [
      "r802"
     ]
    },
    "FSI_AppliedHoldingCorpMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "AppliedHoldingCorpMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Applied Holding Corp [Member]",
        "documentation": "Applied Holding Corp [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ArrangementsAndNonarrangementTransactionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ArrangementsAndNonarrangementTransactionsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations."
       }
      }
     },
     "auth_ref": [
      "r440"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Assets",
        "label": "Assets [Default Label]",
        "documentation": "Amount of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r138",
      "r151",
      "r181",
      "r212",
      "r238",
      "r247",
      "r266",
      "r270",
      "r290",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r442",
      "r446",
      "r466",
      "r547",
      "r647",
      "r725",
      "r726",
      "r757",
      "r787",
      "r873",
      "r874",
      "r894"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current assets",
        "label": "Assets, Current",
        "documentation": "Amount of asset recognized for present right to economic benefit, classified as current."
       }
      }
     },
     "auth_ref": [
      "r174",
      "r192",
      "r212",
      "r290",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r442",
      "r446",
      "r466",
      "r757",
      "r873",
      "r874",
      "r894"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditedAnnualFinancialStatements": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditedAnnualFinancialStatements",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Audited Annual Financial Statements",
        "documentation": "Boolean flag with value true on a form if it is an annual report containing audited financial statements."
       }
      }
     },
     "auth_ref": [
      "r802"
     ]
    },
    "us-gaap_AutomobilesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AutomobilesMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Automobiles [Member]",
        "documentation": "Vehicles that are used primarily for transporting people."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411"
     ]
    },
    "FSI_BCPAMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "BCPAMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "BCPA [Member]",
        "documentation": "BCPA [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BuildingAndBuildingImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BuildingAndBuildingImprovementsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Building and Building Improvements [Member]",
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationConsiderationTransferred1",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase consideration",
        "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r2",
      "r15"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Total identifiable net assets:",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets",
        "documentation": "Amount of assets acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r60"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Building",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Buildings",
        "documentation": "Amount of facility held for productive use including, but not limited to, office, production, storage and distribution facilities, acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r60"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Cash",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. 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."
       }
      }
     },
     "auth_ref": [
      "r60"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedPeriodEndLabel": "Deferred tax liability",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r60"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Land",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Land",
        "documentation": "Amount of real estate acquired, at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r60"
     ]
    },
    "FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Excess of assets acquired over consideration",
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed less purchase price.",
        "label": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Long term debt",
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed long term debt.",
        "label": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessDescriptionAndBasisOfPresentationTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "BASIS OF PRESENTATION",
        "documentation": "The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)."
       }
      }
     },
     "auth_ref": [
      "r74",
      "r115",
      "r116"
     ]
    },
    "country_CA": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "CA",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CANADA"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CanadaRevenueAgencyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CanadaRevenueAgencyMember",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Canada Revenue Agency [Member]",
        "documentation": "Designated tax department of the government of Canada."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_CapitalInExcessOfParValueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "CapitalInExcessOfParValueMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capital in Excess of Par Value [Member]",
        "documentation": "Capital in Excess of Par Value [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Cash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Cash",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows",
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash",
        "periodEndLabel": "Cash",
        "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. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r153",
      "r550",
      "r619",
      "r641",
      "r757",
      "r787",
      "r815"
     ]
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents",
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value."
       }
      }
     },
     "auth_ref": [
      "r33"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash consists of:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Cash, beginning",
        "periodEndLabel": "Cash resources",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r112",
      "r208"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Inflow (outflow) of cash",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r112"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CityAreaCode",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfStockDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ClassOfStockDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "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."
       }
      }
     },
     "auth_ref": [
      "r169",
      "r184",
      "r185",
      "r186",
      "r212",
      "r230",
      "r231",
      "r233",
      "r235",
      "r241",
      "r242",
      "r290",
      "r326",
      "r328",
      "r329",
      "r330",
      "r333",
      "r334",
      "r354",
      "r355",
      "r357",
      "r360",
      "r366",
      "r466",
      "r601",
      "r602",
      "r603",
      "r604",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r620",
      "r633",
      "r656",
      "r674",
      "r689",
      "r690",
      "r691",
      "r692",
      "r693",
      "r809",
      "r830",
      "r838"
     ]
    },
    "FSI_Commissions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "Commissions",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commissions",
        "documentation": "Commissions."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingenciesPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contingencies",
        "documentation": "Disclosure of accounting policy for commitments and contingencies, which may include policies for recognizing and measuring loss and gain contingencies."
       }
      }
     },
     "auth_ref": [
      "r48",
      "r699"
     ]
    },
    "us-gaap_CommonClassBMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonClassBMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Class B [Member]",
        "documentation": "Classification of common stock that has different rights than Common Class A, representing ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r942"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r777",
      "r778",
      "r779",
      "r781",
      "r782",
      "r783",
      "r784",
      "r834",
      "r835",
      "r837",
      "r885",
      "r937",
      "r942"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, par value",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r87"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r633"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares issued",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r87"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r87",
      "r633",
      "r653",
      "r942",
      "r943"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, value",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r551",
      "r757"
     ]
    },
    "us-gaap_CommunicationsAndInformationTechnology": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommunicationsAndInformationTechnology",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Telecommunications",
        "documentation": "The amount of expense in the period for communications and data processing expense."
       }
      }
     },
     "auth_ref": [
      "r104"
     ]
    },
    "FSI_ComparativeFiguresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "ComparativeFiguresTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/ComparativeFigures"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "COMPARATIVE FIGURES",
        "documentation": "Comparative Figures [Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CompensationRelatedCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CompensationRelatedCostsPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based Compensation",
        "documentation": "Disclosure of accounting policy for salaries, bonuses, incentive awards, postretirement and postemployment benefits granted to employees, including equity-based arrangements; discloses methodologies for measurement, and the bases for recognizing related assets and liabilities and recognizing and reporting compensation expense."
       }
      }
     },
     "auth_ref": [
      "r129",
      "r131"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Comprehensive income attributable to Flexible Solutions International Inc.",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r194",
      "r196",
      "r204",
      "r541",
      "r565",
      "r567"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Comprehensive income \u2013 non-controlling interest",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income (loss) and other comprehensive income (loss), attributable to noncontrolling interests. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r64",
      "r67",
      "r194",
      "r196",
      "r203",
      "r540",
      "r565",
      "r566"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total comprehensive income",
        "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r136",
      "r194",
      "r196",
      "r202",
      "r539",
      "r565"
     ]
    },
    "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomePolicyPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income",
        "documentation": "Disclosure of accounting policy for comprehensive income."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r38",
      "r69",
      "r70",
      "r277",
      "r698"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r38",
      "r69",
      "r70",
      "r277",
      "r598",
      "r698"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Axis]",
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r38",
      "r69",
      "r70",
      "r277",
      "r698",
      "r814"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskCreditRisk",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risk Management",
        "documentation": "Disclosure of accounting policy for credit risk."
       }
      }
     },
     "auth_ref": [
      "r73",
      "r160"
     ]
    },
    "FSI_ConcentrationRiskThresholdPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "ConcentrationRiskThresholdPercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable, after allowance for credit loss, percentage",
        "documentation": "Concentration Risk Threshold Percentage."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r38",
      "r69",
      "r70",
      "r277",
      "r698"
     ]
    },
    "us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation, Less-than-Wholly-Owned Subsidiary, Parent Ownership Interest, Effect of Change [Table]",
        "documentation": "Disclosure of information about effect of change in parent's ownership interest in subsidiary on equity attributable to parent. Excludes change from deconsolidation of subsidiary."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r68"
     ]
    },
    "FSI_ConsultantsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "ConsultantsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consultants [Member]",
        "documentation": "Consultants [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_Consulting": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "Consulting",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consulting",
        "documentation": "Consulting."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostOfGoodsAndServicesSold",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of sales",
        "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."
       }
      }
     },
     "auth_ref": [
      "r99",
      "r101",
      "r506"
     ]
    },
    "dei_CountryRegion": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CountryRegion",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Country Region",
        "documentation": "Region code of country"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditFacilityAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Axis]",
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": [
      "r325",
      "r871"
     ]
    },
    "us-gaap_CreditFacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditFacilityDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": [
      "r325",
      "r871",
      "r872"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CustomerRelationshipsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CustomerRelationshipsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Relationships [Member]",
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships."
       }
      }
     },
     "auth_ref": [
      "r61",
      "r855",
      "r856",
      "r857",
      "r858",
      "r859",
      "r860",
      "r863",
      "r864"
     ]
    },
    "us-gaap_DebtDefaultLongtermDebtAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtDefaultLongtermDebtAmount",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Long term debt amount",
        "documentation": "Amount of outstanding long-term debt or borrowing associated with any securities or credit agreement for which there has been a default in principal, interest, sinking fund, or redemption provisions, or any breach of covenant that existed at the end of the period and subsequently has not been cured."
       }
      }
     },
     "auth_ref": [
      "r210"
     ]
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Axis]",
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r77",
      "r78",
      "r140",
      "r141",
      "r213",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r733",
      "r734",
      "r735",
      "r736",
      "r737",
      "r754",
      "r831",
      "r865",
      "r866",
      "r867",
      "r889",
      "r890"
     ]
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentFaceAmount",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt face amount",
        "verboseLabel": "Debt instrument face amount",
        "documentation": "Face (par) amount of debt instrument at time of issuance."
       }
      }
     },
     "auth_ref": [
      "r335",
      "r480",
      "r481",
      "r734",
      "r735",
      "r754"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest rate",
        "verboseLabel": "Debt instrument interest rate stated percentage",
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r336"
     ]
    },
    "FSI_DebtInstrumentMaturityMonthYear": {
     "xbrltype": "gYearMonthItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "DebtInstrumentMaturityMonthYear",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt maturity",
        "documentation": "Debt instrument maturity month year."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentNameDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "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."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r213",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r733",
      "r734",
      "r735",
      "r736",
      "r737",
      "r754",
      "r831",
      "r865",
      "r866",
      "r867",
      "r889",
      "r890"
     ]
    },
    "us-gaap_DebtInstrumentTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentTerm",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt instrument term",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax asset (Note 2)",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r420",
      "r421"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income tax liability (Note 2)",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r420",
      "r421",
      "r548"
     ]
    },
    "us-gaap_DeferredIncomeTaxesAndTaxCreditsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxesAndTaxCreditsAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredRevenueCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredRevenueCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred revenue",
        "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r818"
     ]
    },
    "us-gaap_DefinedBenefitPlanDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedBenefitPlanDisclosureLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan Disclosure [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Deposits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Deposits",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deposits",
        "documentation": "The aggregate of all deposit liabilities held by the entity, including foreign and domestic, interest and noninterest bearing; may include demand deposits, saving deposits, Negotiable Order of Withdrawal (NOW) and time deposits among others."
       }
      }
     },
     "auth_ref": [
      "r139"
     ]
    },
    "us-gaap_DepositsAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepositsAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Term deposits (Note 2)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r821"
     ]
    },
    "us-gaap_DepositsAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepositsAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfLongTermDepositsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long term deposits (Note 8)",
        "verboseLabel": "Long term deposits",
        "documentation": "Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment after one year or beyond the operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r817"
     ]
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Depreciation",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation",
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r46"
     ]
    },
    "us-gaap_DepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepreciationAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation and amortization",
        "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r46"
     ]
    },
    "FSI_DepreciationMethodUsedAndAnnualRate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "DepreciationMethodUsedAndAnnualRate",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation method used and annual rate",
        "documentation": "Depreciation method used and annual rate."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DepreciationNonproduction": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepreciationNonproduction",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Depreciation",
        "label": "Depreciation, Nonproduction",
        "documentation": "The expense recognized in the current period that allocates the cost of nonproduction tangible assets over their useful lives."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r46"
     ]
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DevelopedTechnologyRightsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Developed Technology Rights [Member]",
        "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property."
       }
      }
     },
     "auth_ref": [
      "r134",
      "r855",
      "r856",
      "r857",
      "r858",
      "r859",
      "r860",
      "r863",
      "r864"
     ]
    },
    "FSI_DisclosureComparativeFiguresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "DisclosureComparativeFiguresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Comparative Figures"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_DisclosureLeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "DisclosureLeasesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases",
        "verboseLabel": "Summary Of Right-of-use Asset And Lease Liability"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_DisclosureLongTermDepositsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "DisclosureLongTermDepositsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Long Term Deposits",
        "verboseLabel": "Schedule Of Long Term Deposits"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "STOCK OPTIONS",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r381",
      "r385",
      "r412",
      "r413",
      "r415",
      "r743"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DividendsPayableAmountPerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DividendsPayableAmountPerShare",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends per share",
        "documentation": "The per share amount of a dividend declared, but not paid, as of the financial reporting date."
       }
      }
     },
     "auth_ref": [
      "r34"
     ]
    },
    "dei_DocumentAccountingStandard": {
     "xbrltype": "accountingStandardItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentAccountingStandard",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Accounting Standard",
        "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'."
       }
      }
     },
     "auth_ref": [
      "r801"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r799",
      "r801",
      "r802"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodStartDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodStartDate",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period Start Date",
        "documentation": "The start date of the period covered in the document, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r800"
     ]
    },
    "dei_DocumentRegistrationStatement": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentRegistrationStatement",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Registration Statement",
        "documentation": "Boolean flag that is true only for a form used as a registration statement."
       }
      }
     },
     "auth_ref": [
      "r788"
     ]
    },
    "dei_DocumentShellCompanyEventDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentShellCompanyEventDate",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Event Date",
        "documentation": "Date of event requiring a shell company report."
       }
      }
     },
     "auth_ref": [
      "r801"
     ]
    },
    "dei_DocumentShellCompanyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentShellCompanyReport",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Report",
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r801"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r803"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentType",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r791"
     ]
    },
    "FSI_ENPInvestmentsLLCAndENPMendotaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "ENPInvestmentsLLCAndENPMendotaMember",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Investments LLC and ENP Mendota [Member]",
        "documentation": "ENP Investments LLC and ENP Mendota [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ENPInvestmentsLLCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "ENPInvestmentsLLCMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Investments, LLC [Member]",
        "documentation": "ENP Investments LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ENPMendotaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "ENPMendotaMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Mendota, LLC [Member]",
        "documentation": "ENP Mendota, LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ENPPeruInvestmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "ENPPeruInvestmentsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Peru Investments [Member]",
        "documentation": "ENP Peru Investments [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ENPPeruMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "ENPPeruMember",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Peru [Member]",
        "documentation": "ENP Peru [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ENPPeruOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "ENPPeruOneMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Peru One [Member]",
        "documentation": "ENP Peru One [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_EWCPMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "EWCPMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "EWCP [Member]",
        "documentation": "EWCP [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income per share (basic)",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r205",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r228",
      "r230",
      "r233",
      "r234",
      "r235",
      "r237",
      "r436",
      "r439",
      "r456",
      "r457",
      "r542",
      "r568",
      "r718"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income per share (diluted)",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r205",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r230",
      "r233",
      "r234",
      "r235",
      "r237",
      "r436",
      "r439",
      "r456",
      "r457",
      "r542",
      "r568",
      "r718"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Per Share",
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r36",
      "r236"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of exchange rate changes on cash",
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r888"
     ]
    },
    "FSI_EligiblePercentageOfDomesticAccountsReceivable": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "EligiblePercentageOfDomesticAccountsReceivable",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Eligible percentage of domestic accounts receivable",
        "documentation": "Eligible percentage of domestic accounts receivable."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock vested compensation non vested",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r414"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average period expected to be recognized",
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r414"
     ]
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option [Member]",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_EmployeesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "EmployeesMember",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employees [Member]",
        "documentation": "Employees [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_EnPInvestmentsCorporationLLCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "EnPInvestmentsCorporationLLCMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Investments Limited Liability Corporation (LLC) [Member]",
        "documentation": "ENP Investments Limited Liability Corporation (LLC) [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_EnpPeruInvestmentsLlcMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "EnpPeruInvestmentsLlcMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsTables",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Peru Investments LLC [Member]",
        "documentation": "ENP Peru Investments LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_EnpRealtyLLCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "EnpRealtyLLCMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Realty LLC [Member]",
        "documentation": "ENP Realty LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_EnpnvestmentsLlcMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "EnpnvestmentsLlcMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ENP Investments LLC [Member]",
        "documentation": "ENP Investments LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Two",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine3": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine3",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Three",
        "documentation": "Address Line 3 such as an Office Park"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCountry": {
     "xbrltype": "countryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCountry",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Country",
        "documentation": "ISO 3166-1 alpha-2 country code."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityBankruptcyProceedingsReportingCurrent": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityBankruptcyProceedingsReportingCurrent",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Bankruptcy Proceedings, Reporting Current",
        "documentation": "For registrants involved in bankruptcy proceedings during the preceding five years, the value Yes indicates that the registrant has filed all documents and reports required to be filed by Section 12, 13 or 15(d) of the Securities Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court; the value No indicates the registrant has not. Registrants not involved in bankruptcy proceedings during the preceding five years should not report this element."
       }
      }
     },
     "auth_ref": [
      "r794"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r790"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsTables",
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r790"
     ]
    },
    "dei_EntityExTransitionPeriod": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityExTransitionPeriod",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Elected Not To Use the Extended Transition Period",
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards."
       }
      }
     },
     "auth_ref": [
      "r807"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r790"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r804"
     ]
    },
    "dei_EntityPrimarySicNumber": {
     "xbrltype": "sicNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityPrimarySicNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Primary SIC Number",
        "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity."
       }
      }
     },
     "auth_ref": [
      "r802"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Public Float",
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r790"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r790"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r790"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r790"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r805"
     ]
    },
    "us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EntityWideInformationRevenueFromExternalCustomerLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from External Customer [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EntityWideRevenueMajorCustomerLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EntityWideRevenueMajorCustomerLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Major Customer [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r170",
      "r198",
      "r199",
      "r200",
      "r214",
      "r215",
      "r216",
      "r218",
      "r223",
      "r225",
      "r227",
      "r240",
      "r292",
      "r293",
      "r317",
      "r367",
      "r429",
      "r430",
      "r433",
      "r434",
      "r435",
      "r437",
      "r438",
      "r439",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r455",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r482",
      "r485",
      "r495",
      "r564",
      "r591",
      "r592",
      "r593",
      "r608",
      "r674"
     ]
    },
    "srt_EquityMethodInvesteeNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "EquityMethodInvesteeNameDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "auth_ref": [
      "r286",
      "r287",
      "r289",
      "r432",
      "r810",
      "r811",
      "r812",
      "r881",
      "r882",
      "r883",
      "r884"
     ]
    },
    "us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityMethodInvestmentDescriptionOfPrincipalActivities",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity method investment, description",
        "documentation": "A description of the principal activities of an investee accounted for under the equity method."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityMethodInvestmentOwnershipPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityMethodInvestmentOwnershipPercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership percentage",
        "documentation": "The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting."
       }
      }
     },
     "auth_ref": [
      "r286"
     ]
    },
    "us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityMethodInvestmentRealizedGainLossOnDisposal",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain in equity method investment",
        "documentation": "Amount of gain (loss) on sale or disposal of an equity method investment."
       }
      }
     },
     "auth_ref": [
      "r826",
      "r827",
      "r829"
     ]
    },
    "FSI_EquityMethodInvestmentReturnOfEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "EquityMethodInvestmentReturnOfEquity",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Return of equity",
        "documentation": "Return of equity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityMethodInvestments",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investments (Note 9)",
        "periodStartLabel": "Balance, Beginning",
        "periodEndLabel": "Balance, Ending",
        "documentation": "This item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized."
       }
      }
     },
     "auth_ref": [
      "r238",
      "r258",
      "r270",
      "r284",
      "r816",
      "r848"
     ]
    },
    "us-gaap_EquityMethodInvestmentsAndJointVenturesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityMethodInvestmentsAndJointVenturesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investments and Joint Ventures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityMethodInvestmentsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityMethodInvestmentsDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Investments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INVESTMENTS",
        "documentation": "The entire disclosure for equity method investments and joint ventures. Equity method investments are investments that give the investor the ability to exercise significant influence over the operating and financial policies of an investee. Joint ventures are entities owned and operated by a small group of businesses as a separate and specific business or project for the mutual benefit of the members of the group."
       }
      }
     },
     "auth_ref": [
      "r167",
      "r288",
      "r291",
      "r812"
     ]
    },
    "us-gaap_EquityMethodInvestmentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityMethodInvestmentsPolicy",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investment",
        "documentation": "Disclosure of accounting policy for equity method of accounting for investments and other interests. Investment includes, but is not limited to, unconsolidated subsidiary, corporate joint venture, noncontrolling interest in real estate venture, limited partnership, and limited liability company. Information includes, but is not limited to, ownership percentage, reason equity method is or is not considered appropriate, and accounting policy election for distribution received."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r71",
      "r287"
     ]
    },
    "us-gaap_EquityMethodInvestmentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityMethodInvestmentsTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF EQUITY METHOD INVESTMENT",
        "documentation": "Tabular disclosure of equity method investments including, but not limited to, name of each investee or group of investments, percentage ownership, difference between recorded amount of an investment and the value of the underlying equity in the net assets, and summarized financial information."
       }
      }
     },
     "auth_ref": [
      "r285"
     ]
    },
    "dei_Extension": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Extension",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Extension",
        "documentation": "Extension number for local phone number."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Class of asset."
       }
      }
     },
     "auth_ref": [
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r749"
     ]
    },
    "us-gaap_FairValueByAssetClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueByAssetClassAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asset Class [Axis]",
        "documentation": "Information by class of asset."
       }
      }
     },
     "auth_ref": [
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r749"
     ]
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value of Financial Instruments",
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "FSI_FifthTermMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "FifthTermMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fifth Term [Member]",
        "documentation": "Fifth Term [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinanceLeaseRightOfUseAssetAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseRightOfUseAssetAmortization",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease right of use amortization",
        "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r489",
      "r491",
      "r756"
     ]
    },
    "us-gaap_FinancingReceivablesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinancingReceivablesTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/AccountsReceivable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ACCOUNTS RECEIVABLE",
        "documentation": "The entire disclosure for financing receivable."
       }
      }
     },
     "auth_ref": [
      "r278",
      "r281",
      "r282",
      "r283",
      "r730"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r180",
      "r299",
      "r312",
      "r732"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2025",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r314",
      "r711",
      "r732"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2024",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r944"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2028",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r314",
      "r711",
      "r732"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2027",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r314",
      "r711",
      "r732"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2026",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r314",
      "r711",
      "r732"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets [Member]",
        "documentation": "Assets, excluding financial assets, that lack physical substance, having a limited useful life."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Definite lived intangible assets, beginning balance",
        "periodEndLabel": "Definite lived intangible assets, ending balance",
        "label": "Finite-Lived Intangible Assets, Net",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r507",
      "r860"
     ]
    },
    "FSI_FirstTermMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "FirstTermMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "First Term [Member]",
        "documentation": "First Term [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_FloridaBasedLLCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "FloridaBasedLLCMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsTables",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Florida Based LLC [Member]",
        "documentation": "Florida Based LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ForeignCurrencyTransactionGainLossBeforeTax",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": -1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Currency exchange",
        "label": "Gain (Loss), Foreign Currency Transaction, before Tax",
        "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction."
       }
      }
     },
     "auth_ref": [
      "r468",
      "r469",
      "r470",
      "r471",
      "r671"
     ]
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency",
        "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy."
       }
      }
     },
     "auth_ref": [
      "r467"
     ]
    },
    "FSI_FourthTermMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "FourthTermMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fourth Term [Member]",
        "documentation": "Fourth Term [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainLossOnInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainLossOnInvestments",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 3.0
      },
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows",
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain on investment",
        "negatedLabel": "Gain on investment",
        "documentation": "Amount of realized and unrealized gain (loss) on investment."
       }
      }
     },
     "auth_ref": [
      "r106",
      "r108",
      "r808"
     ]
    },
    "us-gaap_GainLossOnInvestmentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainLossOnInvestmentsTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT",
        "documentation": "Tabular disclosure of realized and unrealized gain (loss) on investment in security."
       }
      }
     },
     "auth_ref": [
      "r826",
      "r827"
     ]
    },
    "us-gaap_GainLossOnTerminationOfLease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainLossOnTerminationOfLease",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows",
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Loss on terminating lease",
        "label": "Gain (Loss) on Termination of Lease",
        "documentation": "Amount of gain (loss) on termination of lease before expiration of lease term."
       }
      }
     },
     "auth_ref": [
      "r486"
     ]
    },
    "FSI_GainOnAcquisitionOfSubsidiary": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "GainOnAcquisitionOfSubsidiary",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain on acquisition of ENP Peru",
        "documentation": "Gain on acquisition of subsidiary."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainsLossesOnSalesOfInvestmentRealEstate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainsLossesOnSalesOfInvestmentRealEstate",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net sales",
        "documentation": "The net gain (loss) resulting from sales and other disposals of real estate owned for investment purposes."
       }
      }
     },
     "auth_ref": [
      "r154",
      "r155",
      "r157",
      "r826",
      "r827",
      "r829",
      "r903",
      "r941"
     ]
    },
    "us-gaap_GeneralInsuranceExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GeneralInsuranceExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insurance",
        "documentation": "The expense in the period incurred with respect to protection provided by insurance entities against risks other than risks associated with production (which are allocated to cost of sales)."
       }
      }
     },
     "auth_ref": [
      "r104"
     ]
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Goodwill",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill (Note 7)",
        "periodEndLabel": "Goodwill",
        "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r179",
      "r300",
      "r538",
      "r726",
      "r731",
      "r748",
      "r757",
      "r852",
      "r853"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "GOODWILL AND INTANGIBLE ASSETS",
        "documentation": "The entire disclosure for goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r851",
      "r854"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets",
        "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r851",
      "r854"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross profit",
        "label": "Gross Profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r97",
      "r102",
      "r150",
      "r212",
      "r290",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r466",
      "r720",
      "r725",
      "r839",
      "r841",
      "r842",
      "r843",
      "r844",
      "r873"
     ]
    },
    "us-gaap_ImpairmentEffectsOnEarningsPerShareLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ImpairmentEffectsOnEarningsPerShareLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment Effects on Earnings Per Share [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ImpairmentEffectsOnEarningsPerShareTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ImpairmentEffectsOnEarningsPerShareTable",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEstimatedFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment Effects on Earnings Per Share [Table]",
        "documentation": "Disclosure of information about the effects of asset impairment charge on per share or per unit basis."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment of Long-Lived Assets",
        "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r123"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income before income tax",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r98",
      "r146",
      "r150",
      "r543",
      "r560",
      "r720",
      "r725",
      "r839",
      "r841",
      "r842",
      "r843",
      "r844"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxAuthorityNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxAuthorityNameAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority, Name [Axis]",
        "documentation": "Information by name of taxing authority."
       }
      }
     },
     "auth_ref": [
      "r424",
      "r880"
     ]
    },
    "us-gaap_IncomeTaxAuthorityNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxAuthorityNameDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Named agency, division or body that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes."
       }
      }
     },
     "auth_ref": [
      "r424",
      "r880"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Income tax expense",
        "label": "Income tax expense",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r152",
      "r166",
      "r226",
      "r227",
      "r238",
      "r255",
      "r270",
      "r422",
      "r423",
      "r431",
      "r570",
      "r745"
     ]
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r418",
      "r419",
      "r425",
      "r426",
      "r427",
      "r428",
      "r600"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "(Decrease) increase in accounts payable and accrued liabilities",
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "(Increase) decrease in accounts receivable",
        "label": "Increase (Decrease) in Accounts Receivable",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase in income taxes payable",
        "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Decrease in deferred revenue",
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r504",
      "r828"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Decrease in inventory",
        "label": "Increase (Decrease) in Inventories",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in non-cash working capital items:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInPrepaidExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInPrepaidExpense",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Decrease (increase) in prepaid expenses",
        "label": "Increase (Decrease) in Prepaid Expense",
        "documentation": "The increase (decrease) during the reporting period in the amount of outstanding money paid in advance for goods or services that bring economic benefits for future periods."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "FSI_IncreaseDecreaseInSharePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "IncreaseDecreaseInSharePercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase decrease in share percentage",
        "documentation": "Increase decrease in share percentage."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwill",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Indefinite lived intangible assets",
        "documentation": "Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit."
       }
      }
     },
     "auth_ref": [
      "r299",
      "r315",
      "r732"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible assets (Note 7)",
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges."
       }
      }
     },
     "auth_ref": [
      "r310",
      "r860",
      "r862"
     ]
    },
    "us-gaap_InterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest expense",
        "documentation": "Amount of interest expense classified as operating and nonoperating. Includes, but is not limited to, cost of borrowing accounted for as interest expense."
       }
      }
     },
     "auth_ref": [
      "r238",
      "r247",
      "r251",
      "r257",
      "r270",
      "r479",
      "r725",
      "r726"
     ]
    },
    "us-gaap_InterestExpenseDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestExpenseDebt",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest expense debt",
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense for debt."
       }
      }
     },
     "auth_ref": [
      "r107",
      "r348",
      "r352",
      "r736",
      "r737"
     ]
    },
    "us-gaap_InterestIncomeOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestIncomeOther",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest income",
        "documentation": "Amount of interest income earned from interest bearing assets classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Inventories"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INVENTORIES",
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory."
       }
      }
     },
     "auth_ref": [
      "r294"
     ]
    },
    "us-gaap_InventoryFinishedGoods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryFinishedGoods",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Completed goods",
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r819"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      },
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories (Note 5)",
        "totalLabel": "Total inventory",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r190",
      "r715",
      "r757"
     ]
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories and Cost of Sales",
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost."
       }
      }
     },
     "auth_ref": [
      "r156",
      "r176",
      "r189",
      "r294",
      "r295",
      "r296",
      "r505",
      "r717"
     ]
    },
    "us-gaap_InventoryRawMaterialsAndSupplies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryRawMaterialsAndSupplies",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Raw materials and supplies",
        "documentation": "Gross amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed."
       }
      }
     },
     "auth_ref": [
      "r820"
     ]
    },
    "FSI_InvestmentEliminatedUponConsolidation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "InvestmentEliminatedUponConsolidation",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
      "http://flexiblesolutions.com/role/ScheduleOfFairValuesOfAssetsAcquiredAndLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Less investment eliminated upon consolidation",
        "verboseLabel": "Balance, Beginning",
        "documentation": "Investment eliminated upon consolidation."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_InvestmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "InvestmentMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment [Member]",
        "documentation": "Investment [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Investments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Investments",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all investments."
       }
      }
     },
     "auth_ref": [
      "r545",
      "r546",
      "r774",
      "r776"
     ]
    },
    "FSI_InvestorRelationsAndTransferAgentFee": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "InvestorRelationsAndTransferAgentFee",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investor relations and transfer agent fee",
        "documentation": "Investor relations aand transfer agent fee."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LandMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LandMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land [Member]",
        "documentation": "Part of earth's surface not covered by water."
       }
      }
     },
     "auth_ref": [
      "r877"
     ]
    },
    "FSI_LeaseInterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "LeaseInterestExpense",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease interest expense",
        "documentation": "Lease interest expense."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_LeaseRightOfUseFinancing": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "LeaseRightOfUseFinancing",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease right of use financing",
        "documentation": "Lease right of use financing."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_LeaseTerminationFee": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "LeaseTerminationFee",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Loss on lease termination",
        "label": "LeaseTerminationFee"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeaseholdImprovementsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold Improvements [Member]",
        "documentation": "Additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r122",
      "r493"
     ]
    },
    "dei_LegalEntityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LegalEntityAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsTables",
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Entity [Axis]",
        "documentation": "The set of legal entities associated with a report."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseDiscountRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseDiscountRate",
     "presentation": [
      "http://flexiblesolutions.com/role/LeasesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating leases discount rate",
        "documentation": "Discount rate used by lessee to determine present value of operating lease payments."
       }
      }
     },
     "auth_ref": [
      "r755"
     ]
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Leases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LEASES",
        "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."
       }
      }
     },
     "auth_ref": [
      "r484"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Liabilities",
        "label": "Liabilities [Default Label]",
        "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r77",
      "r78",
      "r79",
      "r82",
      "r83",
      "r84",
      "r85",
      "r212",
      "r290",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r443",
      "r446",
      "r447",
      "r466",
      "r632",
      "r719",
      "r787",
      "r873",
      "r894",
      "r895"
     ]
    },
    "us-gaap_LiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Liabilities and Stockholders\u2019 Equity",
        "label": "Liabilities and Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r92",
      "r143",
      "r555",
      "r757",
      "r832",
      "r849",
      "r887"
     ]
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current liabilities",
        "label": "Liabilities, Current",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r175",
      "r212",
      "r290",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r443",
      "r446",
      "r447",
      "r466",
      "r757",
      "r873",
      "r894",
      "r895"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Current"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lender Name [Axis]",
        "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r81",
      "r831",
      "r871",
      "r872"
     ]
    },
    "us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityCurrentBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Current Borrowing Capacity",
        "documentation": "Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r81"
     ]
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityLenderDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r81",
      "r831",
      "r871"
     ]
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r325",
      "r831",
      "r871"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate amount of revolving line of credit",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r81"
     ]
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityTable",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Table]",
        "documentation": "Disclosure of information about short-term and long-term contractual arrangements with lender under which borrowing can occur up to maximum amount. Includes, but is not limited to, letter of credit, standby letter of credit, and revolving credit arrangement."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r81",
      "r325",
      "r831",
      "r871"
     ]
    },
    "us-gaap_LinesOfCreditCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LinesOfCreditCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short term line of credit (Note 10)",
        "verboseLabel": "Line of credit",
        "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."
       }
      }
     },
     "auth_ref": [
      "r77",
      "r140"
     ]
    },
    "FSI_LoanGuaranteedRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "LoanGuaranteedRate",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loan guaranteed rate",
        "documentation": "Loan guaranteed rate."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LoansPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LoansPayable",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "First mortgage",
        "documentation": "Including the current and noncurrent portions, aggregate carrying value as of the balance sheet date of loans payable (with maturities initially due after one year or beyond the operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r141",
      "r905"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebt",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance, beginning of period",
        "periodEndLabel": "Balance, end of period",
        "label": "Long-term debt",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r141",
      "r342",
      "r351",
      "r734",
      "r735",
      "r754",
      "r905"
     ]
    },
    "us-gaap_LongTermDebtCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current portion of long term debt (Note 11)",
        "negatedLabel": "Less: current portion",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r182"
     ]
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long term debt (Note 11)",
        "verboseLabel": "Long-term debt non current",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r183"
     ]
    },
    "us-gaap_LongTermDebtTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebt"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LONG TERM DEBT",
        "documentation": "The entire disclosure for long-term debt."
       }
      }
     },
     "auth_ref": [
      "r124"
     ]
    },
    "FSI_LongTermDepositsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "LongTermDepositsTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDeposits"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LONG TERM DEPOSITS",
        "documentation": "Long term deposits [Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_LygosIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "LygosIncMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lygos Inc [Member]",
        "documentation": "Lygos Inc [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MachineryAndEquipmentMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Machinery and Equipment [Member]",
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer [Axis]"
       }
      }
     },
     "auth_ref": [
      "r277",
      "r741",
      "r767",
      "r772",
      "r876",
      "r908",
      "r909",
      "r910",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MaximumMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r321",
      "r322",
      "r323",
      "r324",
      "r380",
      "r416",
      "r458",
      "r503",
      "r589",
      "r590",
      "r597",
      "r624",
      "r625",
      "r680",
      "r682",
      "r684",
      "r685",
      "r687",
      "r709",
      "r710",
      "r730",
      "r738",
      "r742",
      "r750",
      "r751",
      "r752",
      "r753",
      "r768",
      "r875",
      "r896",
      "r897",
      "r898",
      "r899",
      "r900",
      "r901"
     ]
    },
    "FSI_MendotaLLCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "MendotaLLCMember",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "317 Mendota LLC [Member]",
        "documentation": "317 Mendota LLC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_MendotaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "MendotaMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Mendota [Member]",
        "documentation": "Mendota [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_MidlandBankMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "MidlandBankMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Midland Bank [Member]",
        "documentation": "Midland Bank [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_MidlandStatesBankMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "MidlandStatesBankMember",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Midland States Bank [Member]",
        "documentation": "Midland States Bank [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_MinimumInterestPenalty": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "MinimumInterestPenalty",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum interest penalty",
        "documentation": "Minimum interest penalty."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MinimumMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r321",
      "r322",
      "r323",
      "r324",
      "r380",
      "r416",
      "r458",
      "r503",
      "r589",
      "r590",
      "r597",
      "r624",
      "r625",
      "r680",
      "r682",
      "r684",
      "r685",
      "r687",
      "r709",
      "r710",
      "r730",
      "r738",
      "r742",
      "r750",
      "r751",
      "r752",
      "r768",
      "r875",
      "r896",
      "r897",
      "r898",
      "r899",
      "r900",
      "r901"
     ]
    },
    "us-gaap_MinorityInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MinorityInterest",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-controlling interests (Note 14)",
        "periodStartLabel": "Distribution to noncontrolling interests, Beginning balance",
        "periodEndLabel": "Distribution to noncontrolling interests, Ending balance",
        "documentation": "Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r142",
      "r212",
      "r290",
      "r326",
      "r328",
      "r329",
      "r330",
      "r333",
      "r334",
      "r466",
      "r554",
      "r635"
     ]
    },
    "us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Distribution",
        "label": "Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders",
        "documentation": "Decrease in noncontrolling interest balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders."
       }
      }
     },
     "auth_ref": [
      "r128"
     ]
    },
    "us-gaap_MinorityInterestDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MinorityInterestDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterests"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "NON-CONTROLLING INTERESTS",
        "documentation": "The entire disclosure for noncontrolling interest in consolidated subsidiaries, which could include the name of the subsidiary, the ownership percentage held by the parent, the ownership percentage held by the noncontrolling owners, the amount of the noncontrolling interest, the location of this amount on the balance sheet (when not reported separately), an explanation of the increase or decrease in the amount of the noncontrolling interest, the noncontrolling interest share of the net Income or Loss of the subsidiary, the location of this amount on the income statement (when not reported separately), the nature of the noncontrolling interest such as background information and terms, the amount of the noncontrolling interest represented by preferred stock, a description of the preferred stock, and the dividend requirements of the preferred stock."
       }
      }
     },
     "auth_ref": [
      "r135"
     ]
    },
    "us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MinorityInterestOwnershipPercentageByNoncontrollingOwners",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling interest percentage",
        "verboseLabel": "Non-controlling interest percentage",
        "documentation": "The equity interest of noncontrolling shareholders, partners or other equity holders in consolidated entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MinorityInterestOwnershipPercentageByParent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MinorityInterestOwnershipPercentageByParent",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related party owner ship percentage",
        "documentation": "The parent entity's interest in net assets of the subsidiary, expressed as a percentage."
       }
      }
     },
     "auth_ref": []
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "auth_ref": [
      "r277",
      "r741",
      "r767",
      "r772",
      "r876",
      "r908",
      "r909",
      "r910",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936"
     ]
    },
    "FSI_NanoChemMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "NanoChemMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nano Chem [Member]",
        "documentation": "Nano Chem [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_NanoChemSolutionIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "NanoChemSolutionIncMember",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "NanoChem Solutions Inc [Member]",
        "documentation": "NanoChem Solutions Inc [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cash used in financing activities",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "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."
       }
      }
     },
     "auth_ref": [
      "r207"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cash used in investing activities",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r207"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investing activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cash used in operating activities",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r112",
      "r113",
      "r114"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income attributable to controlling interest",
        "label": "Segment profit",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r103",
      "r114",
      "r147",
      "r173",
      "r193",
      "r195",
      "r200",
      "r212",
      "r217",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r226",
      "r227",
      "r232",
      "r290",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r436",
      "r439",
      "r457",
      "r466",
      "r563",
      "r655",
      "r672",
      "r673",
      "r785",
      "r873"
     ]
    },
    "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLossAttributableToNoncontrollingInterest",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: Net income attributable to non-controlling interests",
        "label": "Non-controlling interest share of income",
        "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r137",
      "r193",
      "r195",
      "r223",
      "r226",
      "r227",
      "r562",
      "r824"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recent Accounting Pronouncements",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_NewAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "NewAgreementMember",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Agreement [Member]",
        "documentation": "New Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_NoTradingSymbolFlag": {
     "xbrltype": "trueItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "NoTradingSymbolFlag",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "No Trading Symbol Flag",
        "documentation": "Boolean flag that is true only for a security having no trading symbol."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoncontrollingInterestAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NoncontrollingInterestAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling Interest [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoncontrollingInterestDecreaseFromDeconsolidation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NoncontrollingInterestDecreaseFromDeconsolidation",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Distribution to noncontrolling interests, Non-controlling interest share of loss",
        "label": "Noncontrolling Interest, Decrease from Deconsolidation",
        "documentation": "The amount of the reduction or elimination during the period of a noncontrolling interest resulting from the parent's loss of control and deconsolidation of the entity in which one or more outside parties had a noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r51"
     ]
    },
    "us-gaap_NoncontrollingInterestMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NoncontrollingInterestMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling Interest [Member]",
        "documentation": "This element represents that portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent. A noncontrolling interest is sometimes called a minority interest."
       }
      }
     },
     "auth_ref": [
      "r62",
      "r367",
      "r834",
      "r835",
      "r836",
      "r837",
      "r942"
     ]
    },
    "us-gaap_NoncurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NoncurrentAssets",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total",
        "documentation": "Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r276"
     ]
    },
    "us-gaap_NumberOfOperatingSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NumberOfOperatingSegments",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of operating segments",
        "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues."
       }
      }
     },
     "auth_ref": [
      "r726",
      "r840"
     ]
    },
    "us-gaap_OfficeEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OfficeEquipmentMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Office Equipment [Member]",
        "documentation": "Tangible personal property used in an office setting. Examples include, but are not limited to, computers, copiers and fax machine."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OfficersCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OfficersCompensation",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Administrative salaries and benefits",
        "documentation": "Amount of expense for salary and wage arising from service rendered by officer. Excludes allocated cost, labor-related nonsalary expense, and direct and overhead labor cost included in cost of good and service sold."
       }
      }
     },
     "auth_ref": [
      "r825"
     ]
    },
    "us-gaap_OperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingExpenses",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total operating expenses",
        "label": "Operating Expenses [Default Label]",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Expenses"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Operating income",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r150",
      "r720",
      "r839",
      "r841",
      "r842",
      "r843",
      "r844"
     ]
    },
    "us-gaap_OperatingLeaseExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease expense",
        "documentation": "Amount of operating lease expense. Excludes sublease income."
       }
      }
     },
     "auth_ref": [
      "r891"
     ]
    },
    "us-gaap_OperatingLeaseLeaseIncomeLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLeaseIncomeLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payment of penalty",
        "documentation": "Amount of operating lease income from lease payments paid and payable to lessor. Excludes variable lease payments not included in measurement of lease receivable."
       }
      }
     },
     "auth_ref": [
      "r239",
      "r494"
     ]
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Lease liability, beginning balance",
        "periodEndLabel": "Lease liability, ending balance",
        "label": "Operating Lease, Liability",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r488"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current portion of lease liability (Note 3)",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r488"
     ]
    },
    "FSI_OperatingLeaseLiabilityEarlyTerminationOfLease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "OperatingLeaseLiabilityEarlyTerminationOfLease",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Lease liability, early termination of lease",
        "documentation": "Operating lease liability early termination of lease",
        "label": "OperatingLeaseLiabilityEarlyTerminationOfLease"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease liability (Note 3)",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r488"
     ]
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Payments",
        "label": "Operating Lease, Payments",
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use."
       }
      }
     },
     "auth_ref": [
      "r490",
      "r492"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Right of use assets (Note 3)",
        "periodStartLabel": "Right of use assets, beginning balance",
        "periodEndLabel": "Right of use assets, ending balance",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r487"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Depreciation",
        "label": "Operating Lease, Right-of-Use Asset, Periodic Reduction",
        "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease."
       }
      }
     },
     "auth_ref": [
      "r829"
     ]
    },
    "FSI_OperatingLeaseRightOfUseAssetEarlyTerminationOfLease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "OperatingLeaseRightOfUseAssetEarlyTerminationOfLease",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Right of use assets, early termination of lease",
        "documentation": "Right of use assets early termination of lease",
        "label": "OperatingLeaseRightOfUseAssetEarlyTerminationOfLease"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Translation adjustment",
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r17",
      "r136"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrealized income (loss) on foreign currency translations",
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r564"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other comprehensive income (loss):"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherGeneralExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherGeneralExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Office and miscellaneous",
        "documentation": "Amount of general expenses not normally included in Other Operating Costs and Expenses."
       }
      }
     },
     "auth_ref": [
      "r105",
      "r725"
     ]
    },
    "dei_OtherReportingStandardItemNumber": {
     "xbrltype": "otherReportingStandardItemNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "OtherReportingStandardItemNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Reporting Standard Item Number",
        "documentation": "\"Item 17\" or \"Item 18\" specified when the basis of accounting is neither US GAAP nor IFRS."
       }
      }
     },
     "auth_ref": [
      "r801"
     ]
    },
    "srt_OwnershipAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "OwnershipAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Axis]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_OwnershipDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "OwnershipDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "auth_ref": []
    },
    "FSI_OwnershipInterestPurchaseAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "OwnershipInterestPurchaseAgreementMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership Interest Purchase Agreement [Member]",
        "documentation": "Ownership Interest Purchase Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ParentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ParentMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Parent [Member]",
        "documentation": "Portion of equity, or net assets, in the consolidated entity attributable, directly or indirectly, to the parent. Excludes noncontrolling interests."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsForProceedsFromDepositOnLoan": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsForProceedsFromDepositOnLoan",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: Payments on loan",
        "label": "Payments for (Proceeds from) Deposit on Loan",
        "documentation": "The net cash inflow or outflow from resulting from payment, receipt or drawdown of cash deposit to guarantee a loan during the period."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r32"
     ]
    },
    "us-gaap_PaymentsOfFinancingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsOfFinancingCosts",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Lease payments",
        "label": "Payments of Financing Costs",
        "documentation": "The cash outflow for loan and debt issuance costs."
       }
      }
     },
     "auth_ref": [
      "r30"
     ]
    },
    "us-gaap_PaymentsToAcquireBusinessesAndInterestInAffiliates": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquireBusinessesAndInterestInAffiliates",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Distribution to noncontrolling interests, Acquisition",
        "documentation": "The cash outflow associated with the acquisition of a controlling interest in another entity or an entity that is related to it but not strictly controlled (for example, an unconsolidated subsidiary, affiliate, joint venture or equity method investment)."
       }
      }
     },
     "auth_ref": [
      "r28"
     ]
    },
    "us-gaap_PaymentsToAcquireInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquireInvestments",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Investments",
        "documentation": "The cash outflow associated with the purchase of all investments (debt, security, other) during the period."
       }
      }
     },
     "auth_ref": [
      "r109"
     ]
    },
    "FSI_PaymentsToAcquireLongTermDeposits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "PaymentsToAcquireLongTermDeposits",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Long term deposits",
        "documentation": "Payments to acquire long term deposits.",
        "label": "PaymentsToAcquireLongTermDeposits"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows",
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Net purchase of property, equipment and leaseholds",
        "negatedTerseLabel": "Expenditures for segment assets",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r110"
     ]
    },
    "us-gaap_PaymentsToMinorityShareholders": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToMinorityShareholders",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Partnership distribution to non-controlling interest",
        "documentation": "Amount of cash outflow to a noncontrolling interest. Includes, but not limited to, reduction of noncontrolling interest ownership. Excludes dividends paid to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r30"
     ]
    },
    "FSI_PercentageOfForeignAccountsReceivableOfInventory": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "PercentageOfForeignAccountsReceivableOfInventory",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Percentage of foreign accounts receivable of inventory",
        "documentation": "Percentage of foreign accounts receivable of inventory."
       }
      }
     },
     "auth_ref": []
    },
    "dei_PreCommencementIssuerTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreCommencementIssuerTenderOffer",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Issuer Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r795"
     ]
    },
    "dei_PreCommencementTenderOffer": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PreCommencementTenderOffer",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre-commencement Tender Offer",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r797"
     ]
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockParOrStatedValuePerShare",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, par value",
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r354"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, shares authorized",
        "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."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r633"
     ]
    },
    "us-gaap_PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for expected credit losses",
        "documentation": "Disclosure of accounting policy for determining the estimated allowance for doubtful accounts for premium amounts due from policyholders, insureds, and other insurance entities. May include factors that management considered, such as historical loss experience and current economic and competitive conditions."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrepaidExpenseCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidExpenseCurrent",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid expenses and deposits",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r191",
      "r297",
      "r298",
      "r716"
     ]
    },
    "us-gaap_PrimeRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrimeRateMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prime Rate [Member]",
        "documentation": "Interest rate charged by financial institutions to their most creditworthy borrowers."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromBankDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromBankDebt",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLoanCovenantsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plus: Proceeds from loans",
        "documentation": "The cash inflow from bank borrowing during the year."
       }
      }
     },
     "auth_ref": [
      "r29"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from issuance of common stock",
        "documentation": "The cash inflow from the additional capital contribution to the entity."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromIssuanceOfLongTermDebt",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds of long term debt",
        "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r601"
     ]
    },
    "us-gaap_ProceedsFromLinesOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromLinesOfCredit",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Draw from short term line of credit",
        "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."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r831"
     ]
    },
    "us-gaap_ProceedsFromSaleOfEquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromSaleOfEquityMethodInvestments",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds of equity investment",
        "documentation": "The cash inflow associated with the sale of equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence."
       }
      }
     },
     "auth_ref": [
      "r27"
     ]
    },
    "us-gaap_ProductInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProductInformationLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Information [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "auth_ref": [
      "r273",
      "r506",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r713",
      "r739",
      "r766",
      "r768",
      "r769",
      "r773",
      "r775",
      "r869",
      "r870",
      "r876",
      "r908",
      "r909",
      "r910",
      "r911",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "auth_ref": [
      "r273",
      "r506",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r713",
      "r739",
      "r766",
      "r768",
      "r769",
      "r773",
      "r775",
      "r869",
      "r870",
      "r876",
      "r908",
      "r909",
      "r910",
      "r911",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936"
     ]
    },
    "us-gaap_ProfessionalFees": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProfessionalFees",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Professional fees",
        "documentation": "A fee charged for services from professionals such as doctors, lawyers and accountants. The term is often expanded to include other professions, for example, pharmacists charging to maintain a medicinal profile of a client or customer."
       }
      }
     },
     "auth_ref": [
      "r725",
      "r785",
      "r939",
      "r940"
     ]
    },
    "us-gaap_ProfitLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProfitLoss",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      },
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows",
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income for the period including non-controlling interests",
        "label": "Net income",
        "verboseLabel": "Net income for the period including non-controlling interests",
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r173",
      "r193",
      "r195",
      "r206",
      "r212",
      "r217",
      "r223",
      "r226",
      "r227",
      "r290",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r436",
      "r439",
      "r441",
      "r444",
      "r445",
      "r457",
      "r466",
      "r543",
      "r561",
      "r607",
      "r655",
      "r672",
      "r673",
      "r746",
      "r747",
      "r786",
      "r824",
      "r873"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r493"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholds"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PROPERTY, EQUIPMENT AND LEASEHOLDS",
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r121",
      "r161",
      "r164",
      "r165"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r122",
      "r177",
      "r559"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r493"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, equipment and leaseholds, net (Note 6)",
        "verboseLabel": "Property, plant and equipment, net, total",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r493",
      "r544",
      "r559",
      "r757"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Equipment, Leaseholds and Intangible Assets",
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r161",
      "r164",
      "r557"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/PropertyEquipmentAndLeaseholdsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS",
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": [
      "r122",
      "r493"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r321",
      "r322",
      "r323",
      "r324",
      "r378",
      "r380",
      "r408",
      "r409",
      "r410",
      "r416",
      "r458",
      "r501",
      "r502",
      "r503",
      "r589",
      "r590",
      "r597",
      "r624",
      "r625",
      "r680",
      "r682",
      "r684",
      "r685",
      "r687",
      "r709",
      "r710",
      "r730",
      "r738",
      "r742",
      "r750",
      "r751",
      "r752",
      "r753",
      "r768",
      "r779",
      "r868",
      "r875",
      "r886",
      "r897",
      "r898",
      "r899",
      "r900",
      "r901"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "auth_ref": [
      "r321",
      "r322",
      "r323",
      "r324",
      "r378",
      "r380",
      "r408",
      "r409",
      "r410",
      "r416",
      "r458",
      "r501",
      "r502",
      "r503",
      "r589",
      "r590",
      "r597",
      "r624",
      "r625",
      "r680",
      "r682",
      "r684",
      "r685",
      "r687",
      "r709",
      "r710",
      "r730",
      "r738",
      "r742",
      "r750",
      "r751",
      "r752",
      "r753",
      "r768",
      "r779",
      "r868",
      "r875",
      "r886",
      "r897",
      "r898",
      "r899",
      "r900",
      "r901"
     ]
    },
    "us-gaap_RealizedInvestmentGainsLosses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RealizedInvestmentGainsLosses",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross profit",
        "documentation": "Amount of realized gain (loss) on investment."
       }
      }
     },
     "auth_ref": [
      "r569"
     ]
    },
    "FSI_RealizedInvestmentGainsLossesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "RealizedInvestmentGainsLossesNet",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfProfitAndLossInformationRelatedToEquityAccountedInvestmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net income",
        "documentation": "Net income.",
        "label": "RealizedInvestmentGainsLossesNet"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReceivablesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReceivablesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Receivables [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF REPORTABLE SEGMENTS",
        "documentation": "Tabular disclosure of all significant reconciling items in the reconciliation of total revenues from reportable segments to the entity's consolidated revenues."
       }
      }
     },
     "auth_ref": [
      "r42",
      "r43"
     ]
    },
    "us-gaap_RelatedPartyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related and nonrelated parties. Related party includes, but is not limited to, affiliate, other entity for which investment is accounted for under equity method, trust for benefit of employee, principal owner, management, and member of immediate family, and other party that may be prevented from pursuing separate interests because of control, significant influence, or ownership interest."
       }
      }
     },
     "auth_ref": [
      "r279",
      "r379",
      "r496",
      "r497",
      "r549",
      "r556",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r652",
      "r654",
      "r679"
     ]
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related and Nonrelated Parties [Axis]",
        "documentation": "Information by related and nonrelated parties. Related party includes, but is not limited to, affiliate, other entity for which investment is accounted for under equity method, trust for benefit of employee, principal owner, management, and member of immediate family, and other party that may be prevented from pursuing separate interests because of control, significant influence, or ownership interest."
       }
      }
     },
     "auth_ref": [
      "r279",
      "r379",
      "r496",
      "r497",
      "r549",
      "r556",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r652",
      "r654",
      "r679",
      "r893"
     ]
    },
    "FSI_RemainingInvestmentOwnedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "RemainingInvestmentOwnedPercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Remaining investment owned percentage",
        "documentation": "Remaining investment owned percentage."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RepaymentsOfLongTermDebt",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repayment of long term debt",
        "label": "Repayments of Long-Term Debt",
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r111",
      "r604"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research",
        "documentation": "Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity."
       }
      }
     },
     "auth_ref": [
      "r417",
      "r711",
      "r725",
      "r902"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated earnings",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r89",
      "r128",
      "r553",
      "r594",
      "r596",
      "r605",
      "r634",
      "r757"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r214",
      "r215",
      "r216",
      "r218",
      "r223",
      "r225",
      "r227",
      "r292",
      "r293",
      "r317",
      "r429",
      "r430",
      "r433",
      "r434",
      "r435",
      "r437",
      "r438",
      "r439",
      "r448",
      "r450",
      "r451",
      "r453",
      "r455",
      "r482",
      "r485",
      "r591",
      "r593",
      "r608",
      "r942"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sales",
        "verboseLabel": "Sale",
        "terseLabel": "Total",
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r149",
      "r238",
      "r248",
      "r249",
      "r264",
      "r270",
      "r273",
      "r275",
      "r277",
      "r376",
      "r377",
      "r506"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer Benchmark [Member]",
        "documentation": "Revenue from satisfaction of performance obligation by transferring promised product and service to customer, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r277",
      "r813"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition",
        "documentation": "Disclosure of accounting policy for revenue from contract with customer."
       }
      }
     },
     "auth_ref": [
      "r168",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r712"
     ]
    },
    "us-gaap_Revenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Revenues",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Sales",
        "label": "Revenues",
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r149",
      "r201",
      "r212",
      "r238",
      "r248",
      "r249",
      "r264",
      "r270",
      "r273",
      "r275",
      "r277",
      "r290",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r466",
      "r543",
      "r725",
      "r873"
     ]
    },
    "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues from External Customers and Long-Lived Assets [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevolvingCreditFacilityMember",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revolving Credit Facility [Member]",
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SalariesAndWages": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SalariesAndWages",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Wages",
        "documentation": "Amount of expense for salary and wage arising from service rendered by nonofficer employee. Excludes allocated cost, labor-related nonsalary expense, and direct and overhead labor cost included in cost of good and service sold."
       }
      }
     },
     "auth_ref": [
      "r825"
     ]
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED",
        "documentation": "Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table does not include leveraged buyouts."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r59"
     ]
    },
    "us-gaap_ScheduleOfDebtInstrumentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDebtInstrumentsTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF OUTSTANDING BALANCE LOAN",
        "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."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r49",
      "r50",
      "r72",
      "r126",
      "r127",
      "r734",
      "r736",
      "r833",
      "r889"
     ]
    },
    "us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDefinedBenefitPlansDisclosuresTable",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan [Table]",
        "documentation": "Disclosure of information about individual defined benefit pension plan or other postretirement defined benefit plan. It may be appropriate to group certain similar plans. Also includes schedule for fair value of plan assets by major categories of plan assets by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets or liabilities (Level 1), Significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r52",
      "r53",
      "r54",
      "r55"
     ]
    },
    "FSI_ScheduleOfDistributionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "ScheduleOfDistributionsTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF DISTRIBUTIONS",
        "documentation": "Schedule of Distributions [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE",
        "documentation": "Tabular disclosure of the names of foreign countries in which material long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets are located, and amount of such long-lived assets located in that country or foreign geographic area."
       }
      }
     },
     "auth_ref": [
      "r118"
     ]
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting, Revenue from External Customer, Product and Service [Table]",
        "documentation": "Disclosure of information about revenue from external customer by product and service when not provided as part of reportable operating segment information."
       }
      }
     },
     "auth_ref": [
      "r44"
     ]
    },
    "us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenue by Major Customers, by Reporting Segments [Table]",
        "documentation": "Disclosure of information about the extent of the entity's reliance on its major customers."
       }
      }
     },
     "auth_ref": [
      "r119"
     ]
    },
    "srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative",
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment, Name [Axis]"
       }
      }
     },
     "auth_ref": [
      "r286",
      "r287",
      "r289",
      "r432",
      "r810",
      "r811",
      "r812",
      "r881",
      "r882",
      "r883",
      "r884"
     ]
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEquityMethodInvestmentsLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Equity Method Investments [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r212",
      "r286",
      "r287",
      "r289",
      "r290",
      "r466"
     ]
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEquityMethodInvestmentsTable",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investment [Table]",
        "documentation": "Disclosure of information about equity method investment. Includes, but is not limited to, name of investee or group of investees, percentage ownership, difference between investment and value of underlying equity in net assets."
       }
      }
     },
     "auth_ref": [
      "r173",
      "r212",
      "r286",
      "r287",
      "r289",
      "r290",
      "r466"
     ]
    },
    "us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS",
        "documentation": "Tabular disclosure of goodwill and intangible assets, which may be broken down by segment or major class."
       }
      }
     },
     "auth_ref": [
      "r851",
      "r854"
     ]
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/InventoriesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF INVENTORY",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r93",
      "r94",
      "r95"
     ]
    },
    "FSI_ScheduleOfLoanCovenantsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "ScheduleOfLoanCovenantsTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF LOAN COVENANTS",
        "documentation": "Schedule of loan covenants [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ScheduleOfLongTermDepositsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "ScheduleOfLongTermDepositsTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDepositsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF LONG TERM DEPOSITS",
        "documentation": "Schedule Of Long Term Deposits [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ScheduleOfMethodOfDepreciationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "ScheduleOfMethodOfDepreciationTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF METHOD OF DEPRECIATION",
        "documentation": "Schedule Of Method Of Depreciation [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Non-controllingInterestsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF NON CONTROLLING INTEREST RELATED TO ACQUISITION",
        "documentation": "Schedule Of Non Controlling Interest Related To Acquisition [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfProductInformationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfProductInformationTable",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nature of Operation, Product Information, Concentration of Risk [Table]",
        "documentation": "Disclosure of information about concentration risk of product within nature of operation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails",
      "http://flexiblesolutions.com/role/ScheduleOfPropertyEquipmentAndLeaseholdsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table]",
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r493"
     ]
    },
    "us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF REVENUE GENERATED IN UNITED STATES AND CANADA",
        "documentation": "Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries."
       }
      }
     },
     "auth_ref": [
      "r97",
      "r117"
     ]
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]",
        "documentation": "Disclosure of information about revenue from external customer and long-lived asset by geographical area. Long-lived asset excludes financial instrument, customer relationship with financial institution, mortgage and other servicing right, deferred policy acquisition cost, and deferred tax asset."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r97"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r382",
      "r384",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF STOCK OPTION ACTIVITIES",
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r21",
      "r130"
     ]
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF STOCK OPTION FAIR VALUE ASSUMPTIONS",
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions."
       }
      }
     },
     "auth_ref": [
      "r133"
     ]
    },
    "us-gaap_ScheduleOfShortTermDebtTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShortTermDebtTable",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-Term Debt [Table]",
        "documentation": "Disclosure of information about short-term debt arrangement. Includes, but is not limited to, description of arrangement, lender, repayment term, weighted-average interest rate, borrowed amount, and description and amount of refinancing of short-term obligation when obligation is excluded from current liability."
       }
      }
     },
     "auth_ref": [
      "r77"
     ]
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/GoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE",
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r732",
      "r861"
     ]
    },
    "FSI_SecondTermMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "SecondTermMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Second Term [Member]",
        "documentation": "Second Term [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12bTitle",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r789"
     ]
    },
    "dei_Security12gTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12gTitle",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(g) Security",
        "documentation": "Title of a 12(g) registered security."
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "us-gaap_SecurityDeposit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SecurityDeposit",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/SummaryOfRight-of-useAssetAndLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security deposit",
        "documentation": "The amount of an asset, typically cash, provided to a counterparty to provide certain assurance of performance by the entity pursuant to the terms of a written or oral agreement, such as a lease."
       }
      }
     },
     "auth_ref": [
      "r817"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r792"
     ]
    },
    "dei_SecurityReportingObligation": {
     "xbrltype": "securityReportingObligationItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityReportingObligation",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Reporting Obligation",
        "documentation": "15(d), indicating whether the security has a reporting obligation under that section of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r798"
     ]
    },
    "FSI_SegmentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "SegmentAssets",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment assets",
        "documentation": "Segment assets."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r149",
      "r150",
      "r151",
      "r238",
      "r244",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r258",
      "r259",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r270",
      "r271",
      "r272",
      "r277",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r316",
      "r319",
      "r320",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r722",
      "r725",
      "r726",
      "r731",
      "r771",
      "r908",
      "r909",
      "r910",
      "r911",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "auth_ref": [
      "r275",
      "r276",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r621",
      "r622",
      "r623",
      "r681",
      "r683",
      "r686",
      "r688",
      "r696",
      "r700",
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r714",
      "r740",
      "r758",
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765",
      "r770",
      "r779",
      "r876",
      "r908",
      "r909",
      "r910",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936"
     ]
    },
    "FSI_SegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "SegmentMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment [Member]",
        "documentation": "Segment [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependency"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY",
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments."
       }
      }
     },
     "auth_ref": [
      "r151",
      "r238",
      "r243",
      "r244",
      "r245",
      "r246",
      "r247",
      "r260",
      "r262",
      "r263",
      "r268",
      "r269",
      "r270",
      "r271",
      "r272",
      "r273",
      "r274",
      "r277",
      "r721",
      "r723",
      "r724",
      "r725",
      "r727",
      "r728",
      "r729"
     ]
    },
    "us-gaap_SellingAndMarketingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingAndMarketingExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Advertising and promotion",
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock based compensation",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Volatility",
        "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."
       }
      }
     },
     "auth_ref": [
      "r408"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Interest rate",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate",
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": [
      "r410"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r382",
      "r384",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Number of shares Exercisable, Ending Balance",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number",
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan."
       }
      }
     },
     "auth_ref": [
      "r391"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Weighted average exercise price, Exercisable, Ending Balance",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r391"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Number of shares, Cancelled or expired",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period",
        "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired."
       }
      }
     },
     "auth_ref": [
      "r879"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average exercise price, Cancelled or expired",
        "documentation": "Weighted average price of options that were either forfeited or expired."
       }
      }
     },
     "auth_ref": [
      "r879"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of shares, Granted",
        "verboseLabel": "Stock options granted",
        "documentation": "Gross number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r393"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average fair value of options granted",
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology."
       }
      }
     },
     "auth_ref": [
      "r403"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Number of shares, Beginning Balance",
        "periodEndLabel": "Number of shares, Ending Balance",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r389",
      "r390"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Weighted average exercise price, Beginning Balance",
        "periodEndLabel": "Weighted average exercise price, Ending Balance",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r389",
      "r390"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate intrinsic value of vested options",
        "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r406"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average exercise price, Exercised",
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares."
       }
      }
     },
     "auth_ref": [
      "r394"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average exercise price, Granted",
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options."
       }
      }
     },
     "auth_ref": [
      "r393"
     ]
    },
    "us-gaap_SharePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share price",
        "documentation": "Price of a single share of a number of saleable stocks of a company."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Options granted percentage",
        "documentation": "Percentage of vesting of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r878"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate intrinsic value of vested options exercised",
        "documentation": "Intrinsic value of vested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Options maximum granted term",
        "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r744"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionFairValueAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expected life - years",
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r407"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted-average remaining contractual life",
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r132"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vested term",
        "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."
       }
      }
     },
     "auth_ref": [
      "r405"
     ]
    },
    "FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exercise price per share, Cancelled",
        "documentation": "Cancelled or expired, Exercise price per share."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exercise price per share, Exercised",
        "documentation": "Exercised, Exercise price per share."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exercise price per share, Granted",
        "documentation": "Exercise price per share, Granted."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Exercise price per share Exercisable, Ending Balance",
        "documentation": "Exercise price per share.",
        "label": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Exercise price per share, Beginning Balance",
        "periodEndLabel": "Exercise price per share, Ending Balance",
        "documentation": "Exercise price per share.",
        "label": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Beginning balance, shares",
        "periodEndLabel": "Ending balance, shares",
        "label": "Shares, Outstanding",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShippingAndHandlingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShippingAndHandlingMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shipping and Handling [Member]",
        "documentation": "Packing and transport of product."
       }
      }
     },
     "auth_ref": [
      "r877"
     ]
    },
    "FSI_ShippingCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "ShippingCost",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shipping",
        "documentation": "Shipping cost."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermBorrowings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermBorrowings",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short term borrowings",
        "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."
       }
      }
     },
     "auth_ref": [
      "r75",
      "r140",
      "r757",
      "r904"
     ]
    },
    "us-gaap_ShortTermDebtLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermDebtLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-Term Debt [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermDebtTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermDebtTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCredit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SHORT-TERM LINE OF CREDIT",
        "documentation": "The entire disclosure for short-term debt."
       }
      }
     },
     "auth_ref": [
      "r124"
     ]
    },
    "us-gaap_ShortTermDebtTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermDebtTypeAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-Term Debt, Type [Axis]",
        "documentation": "Information by type of short-term debt arrangement."
       }
      }
     },
     "auth_ref": [
      "r77",
      "r865",
      "r866",
      "r867"
     ]
    },
    "us-gaap_ShortTermDebtTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermDebtTypeDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "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."
       }
      }
     },
     "auth_ref": [
      "r75",
      "r865",
      "r866",
      "r867"
     ]
    },
    "us-gaap_ShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermInvestments",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Term Deposits",
        "label": "Short-Term Investments",
        "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current."
       }
      }
     },
     "auth_ref": [
      "r144",
      "r145",
      "r821"
     ]
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SIGNIFICANT ACCOUNTING POLICIES",
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r115",
      "r209"
     ]
    },
    "dei_SolicitingMaterial": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SolicitingMaterial",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Soliciting Material",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r796"
     ]
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementBusinessSegmentsAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfReportableSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segments [Axis]",
        "documentation": "Information by business segments."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r149",
      "r150",
      "r151",
      "r172",
      "r238",
      "r244",
      "r247",
      "r248",
      "r249",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r258",
      "r259",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r270",
      "r271",
      "r272",
      "r277",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r316",
      "r318",
      "r319",
      "r320",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r722",
      "r725",
      "r726",
      "r731",
      "r771",
      "r908",
      "r909",
      "r910",
      "r911",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936"
     ]
    },
    "us-gaap_StatementClassOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementClassOfStockAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Axis]",
        "documentation": "Information by the different classes of stock of the entity."
       }
      }
     },
     "auth_ref": [
      "r169",
      "r184",
      "r185",
      "r186",
      "r212",
      "r230",
      "r231",
      "r233",
      "r235",
      "r241",
      "r242",
      "r290",
      "r326",
      "r328",
      "r329",
      "r330",
      "r333",
      "r334",
      "r354",
      "r355",
      "r357",
      "r360",
      "r366",
      "r466",
      "r601",
      "r602",
      "r603",
      "r604",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r620",
      "r633",
      "r656",
      "r674",
      "r689",
      "r690",
      "r691",
      "r692",
      "r693",
      "r809",
      "r830",
      "r838"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r87",
      "r90",
      "r91",
      "r170",
      "r198",
      "r199",
      "r200",
      "r214",
      "r215",
      "r216",
      "r218",
      "r223",
      "r225",
      "r227",
      "r240",
      "r292",
      "r293",
      "r317",
      "r367",
      "r429",
      "r430",
      "r433",
      "r434",
      "r435",
      "r437",
      "r438",
      "r439",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r455",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r482",
      "r485",
      "r495",
      "r564",
      "r591",
      "r592",
      "r593",
      "r608",
      "r674"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails",
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r275",
      "r276",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r621",
      "r622",
      "r623",
      "r681",
      "r683",
      "r686",
      "r688",
      "r696",
      "r700",
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r714",
      "r740",
      "r758",
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765",
      "r770",
      "r779",
      "r876",
      "r908",
      "r909",
      "r910",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity",
      "http://flexiblesolutions.com/role/InvestmentsTables",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails",
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r214",
      "r215",
      "r216",
      "r240",
      "r485",
      "r506",
      "r599",
      "r620",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r633",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r643",
      "r644",
      "r645",
      "r646",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r654",
      "r657",
      "r658",
      "r659",
      "r660",
      "r661",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r674",
      "r780"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfStockholdersEquityAbstract",
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementTable",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity",
      "http://flexiblesolutions.com/role/InvestmentsTables",
      "http://flexiblesolutions.com/role/ScheduleOfEquityMethodInvestmentDetails",
      "http://flexiblesolutions.com/role/ScheduleOfGoodwillAndIndefiniteLivedIntangibleAssetsDetails",
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "documentation": "Disclosure of information about statement of comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity."
       }
      }
     },
     "auth_ref": [
      "r214",
      "r215",
      "r216",
      "r240",
      "r279",
      "r485",
      "r506",
      "r599",
      "r620",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r633",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r643",
      "r644",
      "r645",
      "r646",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r654",
      "r657",
      "r658",
      "r659",
      "r660",
      "r661",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r674",
      "r780"
     ]
    },
    "FSI_StockBankMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "StockBankMember",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Bank [Member]",
        "documentation": "Stock Bank [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesIssuedForServices": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesIssuedForServices",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consultant for services, shares",
        "documentation": "Number of shares issued in lieu of cash for services contributed to the entity. Number of shares includes, but is not limited to, shares issued for services contributed by vendors and founders."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity",
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock issued, shares",
        "documentation": "Number of new stock issued during the period."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r86",
      "r87",
      "r128",
      "r601",
      "r674",
      "r690"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfStockOptionActivitiesDetails",
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Number of shares, Exercised",
        "label": "Stock options exercised",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r86",
      "r87",
      "r128",
      "r394"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueIssuedForServices": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueIssuedForServices",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consultant for services, value",
        "documentation": "Value of stock issued in lieu of cash for services contributed to the entity. Value of the stock issued includes, but is not limited to, services contributed by vendors and founders."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "crdr": "credit",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock issued",
        "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r86",
      "r87",
      "r128",
      "r608",
      "r674",
      "r690",
      "r786"
     ]
    },
    "FSI_StockIssuedInExchangeForServicesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "StockIssuedInExchangeForServicesPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued in Exchange for Services",
        "documentation": "Stock Issued In Exchange For Services [Policy Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_StockOptionExercisePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "StockOptionExercisePercent",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock option exercise percent",
        "documentation": "Stock option exercise percent"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockOptionPlanExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockOptionPlanExpense",
     "crdr": "debit",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock option expense",
        "documentation": "Amount of noncash expense for option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "FSI_StockYardAndBankMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "StockYardAndBankMember",
     "presentation": [
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Yard And Bank One [Member]",
        "documentation": "Stock Yard And Bank One [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_StockYardsBankTrustFiveMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "StockYardsBankTrustFiveMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Yards Bank and Trust Five [Member]",
        "documentation": "Stock Yards Bank and Trust Five [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_StockYardsBankTrustFourMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "StockYardsBankTrustFourMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Yards Bank and Trust Four [Member]",
        "documentation": "Stock Yards Bank and Trust Four [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_StockYardsBankTrustMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "StockYardsBankTrustMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative",
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Yards Bank and Trust [Member]",
        "documentation": "Stock Yards Bank and Trust [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_StockYardsBankTrustOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "StockYardsBankTrustOneMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Yards Bank and Trust One [Member]",
        "documentation": "Stock Yards Bank and Trust One [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_StockYardsBankTrustThreeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "StockYardsBankTrustThreeMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Yards Bank and Trust Three [Member]",
        "documentation": "Stock Yards Bank and Trust Three [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_StockYardsBankTrustTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "StockYardsBankTrustTwoMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfOutstandingBalanceLoanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Yards Bank and Trust Two [Member]",
        "documentation": "Stock Yards Bank and Trust Two [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total stockholders\u2019 equity \u2013 controlling interest",
        "label": "Equity, Attributable to Parent",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r90",
      "r91",
      "r120",
      "r635",
      "r653",
      "r675",
      "r676",
      "r757",
      "r787",
      "r832",
      "r849",
      "r887",
      "r942"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders\u2019 Equity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets",
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total Stockholders\u2019 Equity",
        "periodStartLabel": "Beginning balance, value",
        "periodEndLabel": "Ending balance, value",
        "label": "Equity, Including Portion Attributable to Noncontrolling Interest",
        "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity."
       }
      }
     },
     "auth_ref": [
      "r62",
      "r63",
      "r65",
      "r170",
      "r171",
      "r199",
      "r214",
      "r215",
      "r216",
      "r218",
      "r223",
      "r225",
      "r292",
      "r293",
      "r317",
      "r367",
      "r429",
      "r430",
      "r433",
      "r434",
      "r435",
      "r437",
      "r438",
      "r439",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r455",
      "r472",
      "r473",
      "r477",
      "r483",
      "r495",
      "r592",
      "r593",
      "r606",
      "r635",
      "r653",
      "r675",
      "r676",
      "r694",
      "r786",
      "r832",
      "r849",
      "r887",
      "r942"
     ]
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/CapitalStock"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CAPITAL STOCK",
        "documentation": "The entire disclosure for equity."
       }
      }
     },
     "auth_ref": [
      "r125",
      "r211",
      "r353",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r367",
      "r454",
      "r677",
      "r678",
      "r695"
     ]
    },
    "us-gaap_SubsequentEventLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventLineItems",
     "presentation": [
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Line Items]",
        "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event."
       }
      }
     },
     "auth_ref": [
      "r478",
      "r499"
     ]
    },
    "us-gaap_SubsequentEventMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Member]",
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r478",
      "r499"
     ]
    },
    "us-gaap_SubsequentEventTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTable",
     "presentation": [
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Table]",
        "documentation": "Disclosure of information about significant event or transaction occurring between statement of financial position date and date when financial statements were issued."
       }
      }
     },
     "auth_ref": [
      "r478",
      "r499"
     ]
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Axis]",
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r478",
      "r499"
     ]
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTypeDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r478",
      "r499"
     ]
    },
    "us-gaap_SubsequentEventsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventsTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SubsequentEvents"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SUBSEQUENT EVENTS",
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business."
       }
      }
     },
     "auth_ref": [
      "r498",
      "r500"
     ]
    },
    "us-gaap_SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative",
      "http://flexiblesolutions.com/role/Non-controllingInterestsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsidiary company ownership interest rate",
        "documentation": "The number of units or percentage investment held in the subsidiary by the limited liability company or limited partnership."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY",
        "documentation": "Summary Of Right of use Asset And Lease Liability [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TaxesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TaxesPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes payable",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r77",
      "r78"
     ]
    },
    "us-gaap_TechnologyEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TechnologyEquipmentMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfMethodOfDepreciationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Technology Equipment [Member]",
        "documentation": "Equipment used in the creation, maintenance and utilization of information systems which include computers and peripherals."
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TermDepositsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "TermDepositsPolicyTextBlock",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Term Deposits",
        "documentation": "Term Deposits [Policy Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_TermLoanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "TermLoanMember",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Term Loan [Member]",
        "documentation": "Term Loan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ThirdTermMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "ThirdTermMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Third Term [Member]",
        "documentation": "Third Term [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ThreeCustomersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "ThreeCustomersMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SegmentedSignificantCustomerInformationAndEconomicDependencyDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Three Customers [Member]",
        "documentation": "Three Customers [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_ThreePrimaryCustomersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "ThreePrimaryCustomersMember",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Three Primary Customers [Member]",
        "documentation": "Three Primary Customers [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title and Position [Axis]"
       }
      }
     },
     "auth_ref": [
      "r845",
      "r892"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/StockOptionsDetailsNarrative"
     ],
     "auth_ref": []
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "TradingSymbol",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TravelAndEntertainmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TravelAndEntertainmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Travel",
        "documentation": "Expenses incurred for travel and entertainment during the period."
       }
      }
     },
     "auth_ref": [
      "r104"
     ]
    },
    "FSI_TrioOpportunityCorpMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "TrioOpportunityCorpMember",
     "presentation": [
      "http://flexiblesolutions.com/role/InvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trio Opportunity Corp [Member]",
        "documentation": "Trio Opportunity Corp [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TypeOfArrangementAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TypeOfArrangementAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfDistributionsDetails",
      "http://flexiblesolutions.com/role/ScheduleOfNonControllingInterestRelatedToAcquisitionDetails",
      "http://flexiblesolutions.com/role/Short-termLineOfCreditDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Axis]",
        "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations."
       }
      }
     },
     "auth_ref": [
      "r440"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "US",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfLong-livedAssetsAreLocatedInCanadaAndUnitedStateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_UnitedStatesandAbroadMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "UnitedStatesandAbroadMember",
     "presentation": [
      "http://flexiblesolutions.com/role/ScheduleOfRevenueGeneratedInUnitedStatesAndCanadaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "United States and Abroad [Member]",
        "documentation": "United States and Abroad [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "FSI_UnrelatedPartyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://flexiblesolutions.com/20240331",
     "localname": "UnrelatedPartyMember",
     "presentation": [
      "http://flexiblesolutions.com/role/BasisOfPresentationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrelated Party [Member]",
        "documentation": "Unrelated Party [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://flexiblesolutions.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Use of Estimates",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r40",
      "r41",
      "r158",
      "r159",
      "r162",
      "r163"
     ]
    },
    "us-gaap_UtilitiesOperatingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UtilitiesOperatingExpense",
     "crdr": "debit",
     "calculation": {
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Utilities",
        "documentation": "Amount of operating expense of regulated operation."
       }
      }
     },
     "auth_ref": [
      "r100"
     ]
    },
    "us-gaap_VariableRateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "VariableRateAxis",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Rate [Axis]",
        "documentation": "Information by type of variable rate."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VariableRateDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "VariableRateDomain",
     "presentation": [
      "http://flexiblesolutions.com/role/LongTermDebtDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average number of common shares (diluted)",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r229",
      "r235"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://flexiblesolutions.com/role/InterimConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average number of common shares (basic)",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r228",
      "r235"
     ]
    },
    "dei_WrittenCommunications": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "WrittenCommunications",
     "presentation": [
      "http://flexiblesolutions.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Written Communications",
        "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act."
       }
      }
     },
     "auth_ref": [
      "r806"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482338/360-10-05-4"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "7",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479637/805-30-30-7"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "8",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479637/805-30-30-8"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-20"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21D",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-21D"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-9"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "825",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-1"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "715",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(2)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14A"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-5"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-4"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-8"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-1"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-3"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-20"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-4"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-8"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-9"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-40"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "460",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-3"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-8"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-2"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-3"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-4"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-17"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-12"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-13"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-3"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-15"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-16"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-21"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4I"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4J"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4K"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4M",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4M"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-20"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-21"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "825",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478898/942-825-50-1"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/205/tableOfContent"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-11"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r103": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r105": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(7)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r108": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(9)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r109": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/235/tableOfContent"
  },
  "r116": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/275/tableOfContent"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r119": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-42"
  },
  "r120": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480418/310-10-S99-2"
  },
  "r121": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/360/tableOfContent"
  },
  "r122": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r123": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480091/360-10-S99-2"
  },
  "r124": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/470/tableOfContent"
  },
  "r125": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/505/tableOfContent"
  },
  "r126": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-6"
  },
  "r127": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-7"
  },
  "r128": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1"
  },
  "r129": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r130": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r131": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r132": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r133": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r134": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38"
  },
  "r135": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/810/tableOfContent"
  },
  "r136": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-19"
  },
  "r137": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r138": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r139": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r140": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r141": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r142": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r143": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r144": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r145": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r146": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r147": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r148": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r149": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r150": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r151": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482659/740-20-45-2"
  },
  "r153": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "210",
   "Topic": "946",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-20"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "SubTopic": "360",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477875/944-360-45-3"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "SubTopic": "360",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477875/944-360-45-4"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482989/270-10-45-6"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "360",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478586/944-360-50-1"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-1"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-11"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-12"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-6"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-7"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "323",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/323/tableOfContent"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/606/tableOfContent"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "a",
   "Publisher": "SEC"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-1"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-7"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-5"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-1"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-2"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-8"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-1"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-3"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-3"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-4"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-8"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-9"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-10"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-16"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-2"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-3"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-7"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-15"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-6A"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-1"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482987/272-10-50-1"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482987/272-10-50-3"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/280/tableOfContent"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-15"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-24"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26A"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26B"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26C"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "34",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-34"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-40"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-42"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/310-10/tableOfContent"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-42"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "44",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-44"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/310-20/tableOfContent"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481664/323-10-45-1"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/330/tableOfContent"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-1"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-4"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482955/340-10-05-5"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483032/340-10-45-1"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480265/350-10-S45-1"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482598/350-20-45-1"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-2"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4.d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479823/420-10-S99-2"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-4"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-4"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-6"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-16"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-17"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-18"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-18"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-19"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-20"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-4"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/718/tableOfContent"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-1D"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-2"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-3"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482916/730-10-50-1"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-25"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-28"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-4"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-6"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-10"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-15"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-17"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-19"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-20"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478758/740-323-25-1"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "808",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479402/808-10-50-1"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-19"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-6"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/830/tableOfContent"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481839/830-10-45-17"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482014/830-20-35-1"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481956/830-20-45-1"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481926/830-20-50-1"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-17"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-1"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-2"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483013/835-20-50-1"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/842-20/tableOfContent"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "12A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "40",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479092/842-20-40-1"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-4"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-5"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479773/842-30-50-5"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/855/tableOfContent"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482546/910-10-50-6"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478345/912-310-45-11"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478411/912-330-50-1"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479941/924-10-S99-1"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483154/926-20-50-5"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478934/932-220-50-1"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-19"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-6"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-7"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "280",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478657/932-280-50-1"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478988/932-323-50-1"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478451/942-360-50-1"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(1)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(1)(h))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column J))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column K))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4E"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.W.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-11"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-2"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "27",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-27"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478494/946-205-50-7"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-21"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-4"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-2"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(5)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-3"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-7"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478297/946-220-50-3"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r673": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r674": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r675": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r676": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r684": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r685": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r687": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r688": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-1"
  },
  "r690": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r691": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r694": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-3"
  },
  "r695": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-6"
  },
  "r696": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Column A)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1"
  },
  "r697": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479196/954-310-45-1"
  },
  "r698": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478785/954-310-50-2"
  },
  "r699": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "450",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477850/954-450-50-1"
  },
  "r700": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r701": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r702": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r705": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477332/976-310-50-1"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479230/978-310-50-1"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-52"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "48",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "49",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r728": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481933/310-10-55-12A"
  },
  "r731": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482548/350-20-55-24"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40"
  },
  "r733": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69B"
  },
  "r735": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69C"
  },
  "r736": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69E"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69F"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r739": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r740": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r742": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480547/715-80-55-8"
  },
  "r743": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "231",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231"
  },
  "r746": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4J"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4K"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "101",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-101"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "103",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482949/835-30-55-8"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479589/842-20-55-53"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481372/852-10-55-10"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-17"
  },
  "r759": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-21"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-29"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-3"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-2"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-4"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-5"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-6"
  },
  "r766": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479401/944-30-55-2"
  },
  "r767": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r768": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-29F"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r770": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r772": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r773": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9E"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-14"
  },
  "r775": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-18"
  },
  "r776": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-9"
  },
  "r777": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r778": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r779": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477439/946-210-55-1"
  },
  "r780": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1"
  },
  "r781": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r782": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r783": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r784": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r785": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-10"
  },
  "r786": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-11"
  },
  "r787": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-12"
  },
  "r788": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12"
  },
  "r789": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r790": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r791": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r792": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r793": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "g"
  },
  "r794": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12, 13, 15d"
  },
  "r795": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "13e",
   "Subsection": "4c"
  },
  "r796": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14a",
   "Subsection": "12"
  },
  "r797": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "14d",
   "Subsection": "2b"
  },
  "r798": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "15",
   "Subsection": "d"
  },
  "r799": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r800": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r801": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r802": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r803": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r804": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r805": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r806": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "425"
  },
  "r807": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  },
  "r808": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r809": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-3"
  },
  "r810": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-2"
  },
  "r811": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-2"
  },
  "r812": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-2"
  },
  "r813": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r814": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "SubTopic": "825",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B"
  },
  "r815": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r816": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r817": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r818": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r819": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r820": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r821": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r822": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4"
  },
  "r823": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5"
  },
  "r824": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6"
  },
  "r825": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r826": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(7)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r827": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(9)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r828": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r829": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r830": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r831": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r832": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r833": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-3"
  },
  "r834": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23"
  },
  "r835": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24"
  },
  "r836": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5"
  },
  "r837": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r838": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "55",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-55"
  },
  "r839": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r840": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-18"
  },
  "r841": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r842": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r843": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r844": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r845": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13"
  },
  "r846": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2"
  },
  "r847": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-4"
  },
  "r848": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r849": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r850": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r851": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-20/tableOfContent"
  },
  "r852": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r853": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r854": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-30/tableOfContent"
  },
  "r855": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r856": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r857": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r858": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r859": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r860": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r861": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r862": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r863": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r864": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r865": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r866": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r867": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r868": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481931/410-30-50-10"
  },
  "r869": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9"
  },
  "r870": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r871": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r872": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r873": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r874": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r875": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r876": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5"
  },
  "r877": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r878": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r879": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r880": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-3"
  },
  "r881": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-1A"
  },
  "r882": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-1A"
  },
  "r883": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-1A"
  },
  "r884": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-1A"
  },
  "r885": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r886": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r887": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r888": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1"
  },
  "r889": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r890": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1"
  },
  "r891": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-4"
  },
  "r892": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-2"
  },
  "r893": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-3"
  },
  "r894": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7"
  },
  "r895": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7"
  },
  "r896": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r897": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r898": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r899": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r900": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r901": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r902": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "912",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479532/912-730-25-1"
  },
  "r903": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(14)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r904": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r905": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r906": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r907": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r908": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479432/944-30-50-2B"
  },
  "r909": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r910": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r911": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4C"
  },
  "r912": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D"
  },
  "r913": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4G",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G"
  },
  "r914": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r915": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r916": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r917": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r918": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r919": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r920": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r921": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r922": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r923": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r924": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r925": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r926": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r927": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r928": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r929": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r930": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r931": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r932": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r933": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r934": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r935": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r936": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r937": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4"
  },
  "r938": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r939": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(k)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-3"
  },
  "r940": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r941": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r942": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r943": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r944": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>88
<FILENAME>0001493152-24-019962-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001493152-24-019962-xbrl.zip
M4$L#!!0    ( *>&KUBOR)2(4P<  !@L   *    97@S,2TQ+FAT;>U:74_;
M2!1]CY3_,(O4%9420MJR#R2-!"5L(]'"0K12'R?V.)EE[$EG[(3LK]]S9VS'
MA-""2A=2!0D2V_-Q[]QSSSTSN/MQ^.FL5Z]U/_:/3O#)Z*<[' S/^KUNRW_B
M:2M_W#T^/_G"KH9?SOKO=R*=I(>LO3]-V5#&PK+/8LXN=<R3AK_18%?"R&@'
M'='UXK'].BSF9BR30T9-R]\.2\5-VN1*CO'HG\RF,EKL]+JGYY^'U2F:$8^E
M6AQ^;Q+7ULI_A;=II_=[,K+33K=% V(1+GZF^4:.)^E3&M\][O5O)G(DTWKM
M;7NOW6T=]_X?5S8\$H%(4F&>.!0?^I?#P>G@P]%P</[Y:AN+YS-_T*C73G@B
MA6+GOQO[-=.=8R,%.@;"T&0LG?#T<&/]V_#PM/?JM0&;\)E@1LRDF(L0 9&6
M?<VX05ZJ!>Y/M4F93MBI-C'Z-?]B.F*G2MS(D1+L2JLLE3JQ;$"9G'"ZX*J!
MRV!O<U=FPP/[!H$]YA;A1.#B!;M.]%R)<"P:/KYY5$.-41.=L@ #<)DPGBQ8
MEJ0F$\RF/!4QZ)G"S>$'HBNY8A$/<,LP'<N4I=JWN],@$8&PEIM%O88V,;\6
MF+@RJ,6]$-9@3D7%F":A!H$T01:C68+^,"44ALTG,I@PF]&?9?^Y,"(?A#R(
MI56"AS(9L[E,)_#03D7@+,2X]=H4QND0CL[0+V2C174A-C?0&X[3M]_"J6"1
M3  $ M4R\ V %,WQV%2>RR0"/3GRP?= 92'&!+@J06X F9(H;0IL$*X)[TJ5
MP*W7<LS8E;F1'*&DD1N$JDRA ="J@2CNF8\,"KB=L$CIN2V@;,18VM1PS,3I
MIC<<9GK?/"!M8<W27+)C"\IG-/\=0#F\%<!<NM@<=KEV(:[1421QN6M?N^@.
M&#?"<0]PX>HCXLT$T#M2TDZH!S6+P;7$MW0=2ALH;3/T(Q8V6GE 38T.1(C;
M ,0N !0*(-*CI'\33'@R%NP(!'>9*7C7?LN;[8-=X<UH'X3^RE]*7YE5,0$C
M$JP W..-C/G&1/7:K9FB6S-%F(D\7<4]6I"ZV J\1YB?WY2H?33X_MZ!3)[2
M)?ZZ7@N%Q90(LJNJWX=@@RI^P#/[\"Y4>4>"E3/Y6JXS@P' ?3-IB5&=/!")
M&XBV DL9465T(Q1W^/35O *Q1L[V]%""F&&,U4J&/'66CJP,)<>. QY(KSE<
MC4EHI,R2#' IC1PCU> 86%L!BU(P/O6:0@C+(%.<*@<<<U:4]$U)XN5)55;A
MVTA00W [^HMP<[GP%\3_Z [^'\R/RS1X9,>UR5"OK68#-4,&S61(&.<6.RFJ
M(=PB/T@1$_"Y"0L,(BTD'TDETP6)CG7S4DXZN#HD^FRZU70IK.HU5ZMN<I>F
MF9DB%:R324&@3>@L<.)Z+!*('X6,P!,QI5RC)M@Y>-0C)^44Q6*+^Q>$^P"X
M%S.N,L>-! H119"[<H9HVC6RM50]#R![?[FB9,O# \ <'<'3A'( C8]TEMYO
MPD/J$2];"]H.1%527K_)8Z-BH^%R-U\*&-2!04FXA>K+@6I(%.U!<!=-=$:1
MRU+W9"UD'\',I#IT$&2&(%.I\'='K==B;5,\H%-K#&8#C)0?E;'=>RR)@'Y0
MYDKKW'+L&H4[7Z&CER0K#7OMS9IP6PHB(EN7+"*$:@)3NQ7):\2"*7DM\.$.
M6U8Z-'YXD3ILFR#/9O[!CVQ'W=ENF4J-)0<2)U?1O*3#@DQ7T0'0W2N+[NCR
MTD0.;9YJ8TLEXFY@S#B6:2K$-\K.2$/KT/-0PD@WR*XV[BC/TK$+/FF+4.2K
M^)I)..%2,TL"=S3S>KOS?$&T3CM/.G$C$2P!5#HBH-.&0 H@*E<1Y09P+O@U
MJ0(O09TN</+9'3X7AV\$CX=SO=^J84=&9VQKJ).'Z&E%R9SW@CH7W>@"9$(:
M-[PVL7#>9C%6'%X[;_*:M?:@<JL[7AI :6M(\B(R8*D&X"(<P0)P[E\,.3(;
MOCC+9*;53%"%3O@X_U>)R3E9Q%.E%P)/YQ/M6;B*>J#T(>JE7OL>I/=^,?@,
MCX[/^NQ#_^SLZN+HP^#SG^]W]G?<]<71R4EQ_6@7YS),)]1T_U4'=<5@]]T,
MM%)\:F%0\6W'O8K3'5X^?H(9U6 (O&+!4CW=R5_LZ0Y/BO'60OK17ASLOWK*
M0'SB"V]H^Z#!WNR_>5?&9'CR0!?R%1WI--7Q(1LI'ERS]MX!7'*G<<_O9'?0
M:]F6]R9_(>%X[_8["=W6H%=U'7\N7S0@?F(V/CCRSV&KCY^W;R6"V^B]^.A=
M^--!G@>P?R."C Z V+G?NZP/8LL5AMX3%KB?7LM@ZV_-)CL%5L-#=@&)T,$
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
M>C;1)1EV:WXZBINUA8;*L%LG+B.VY)#2QVXM?1%;-[G@LEL+;L10L9',DV^
M[7RG,IO;/M#QWAS<"(H"MS4_S'FQ#" 7BC(F-OQ; ;8K61PB=_$-?P\]!PBV
M.6TJ@FK"W]"NV6@8L),YHW9-4"5OVN:VWXCP!:V^GK1SZ! =!IHB5:$X:B\
M"XD/N#O)DV\';AF\  4^0^H <:!JBM:?8H;V!7G[',T^>86WZC'"\,KVV::-
MD;\"W0:\DMU%9+$=N)OR2FYK]@ZUG;X$K1T/5=01M"UCUUTU1?0&-)_;&K>;
M +JT*[01H%LGAD("M_+F_-8H"DF_U3=OO>;V *H35.]PK>FZ]HJ<Q#"$@1%(
ML:\#+)46/6:_"*I6&H!AVZ[5A=[6X@78 ;\65-L)=_FJ+YKR @$HZ0 Z33>"
MB*VU-[4+N:WM<MB5+\G.\5>^=8['<0(K$^1Z@O"5+LY"[H J:::PN#J$RIHF
MJ)Y@LTQZ^P@?.<W7RTYS4=<%M8_)<3V=7](4INBKXJN@2XT1+AJ_A1>:1E6U
MW.I;??,T$GS(6#$%/T/$L@5W &E5 A-&_A;,R!S95-HYJ,2J U6:S>,:&SRC
M/ 8=S8UI(&U8 1 $,L=LG>@].@M5AB-%FP+@N\1<1!@H"-#M2S=]$ES6HEU+
M,"H3H(NRL7M^8@N[0O;VRR"79([C=[&,+27C)[0G0$*>,^0V$?[9T7YB$X,7
MC?8_BGUH-OLPM('F!^+)D$6/=(9/)%825$$2H)T$ZA@^"&W&^"%C:X_H3E8U
M'5=Q6U;2$T!NT2FP#6*M5EJTB8U7%>C&0!XY#VN.=7$ 4;CD0JPL([]U)G+)
MR&\F.Y5?I>:2[V(=&/$&E]\^?6^S%$J9B3!>T$'(V';7*^%VX,L'(]Y?[6X(
M[O:EMELB?F<KR819R6?W(1ZT+AWT -J;!0;^'9U'O3#P06/X' J?'KX8Z.B1
M/4-..6?^/DT,J(6M7]'!S7_/#1G:._=;%AYLO<G0H/!:+X(7X8-8%S9&K*,I
M_F7^]O%+YRZ CXDX7\Z^EB7T0T\&.H77 #R/[Y:JWQ=/MBS?/'O99Z^WV>\:
M82NU H)A"KJ)CN]<S5?B/&?^V_)=P#KR<S5?\?S=DOL.YVOWVYWO;%3ZHG=N
M&C(I-A,?E%JGTLVK.>RSY]N_[!0Y\>*W1>2X.6?WR'&2*'%$#N^<I=LY<GQ/
MM<0&30LZBR?06?R^=1878\[C]L9Y,[&,&;\MB.5A=-::&H:CH&TN>Y9/-__>
M_D6"D$Q&BBS*MK]'2?(0;;]KJCMTAF*&;K=V"%#@J:G(%RU.9./\RKEL9<U?
M/GN^P@7<9T_H(JN#O3/-055KITMY?)IV_>I/G0<"*GA.E_;.9=X+?R]D#U_
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
MWI2W]+7N^C^OM>_&WUQF)](GH;0DO&\@"=,I$'2@+@EASDL(%P ]O[H3='%
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
M:B#*.2[[WC-%[YI<:XXE%<?F0-/E-R!=4/,)E$@;%!:T04D;#C452UM[(.C
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
M;5A"NR>":/Z2S4$)>IC0I](K$WO+I6@8 /XCH9)IM"OZ==A]?%.KF?;+-%L
M[<)>]A%LCRN;_L<# >=7;4%9[1QJW\/]LS9S[/AR_X3*$#M7+R=!0A;<;8SA
MQ>PPNM/*Z[/P'U/SS?$35^<7:(Y+T_D0^U=K\;8V@W1Z!.$M@EA_>9"#N.RE
M0.?3.3K#!N^XA":'IQZX63@U:9B-WJVF27C# N@OL@B,-I2SQZ%AB_NWW(]F
M\?=-5^=)I@2$+X+PFV(%042QH.$E]B>V^>U/#D+=0#YXFTY#'9T),7H[*5_8
M@H(!RJ1 7'^2I7-9=+I_3_3S5"RL2['<ZIIA-'6MA\YU=' - E(F^'2'7G]\
MTV^NLU\?\M_K]:/UN_75.!AV:H2!/W%V=9&)3,,4B,\"<'2>8VB>H,#@?6N8
M()(%J13BDA">9E!W^1#CT).NY0<_8K"S@^IEKZEIE<D(Y>R->=/RZ\>W<>MO
M9?!UF$W7CU:X?WXU Y%R8(P@HB,%3'!)M: (NE7!]$OH6Y-&L.$6\L/'-ZAW
M,KF?K]51GV2^2.@QM^=7^-W'/9BSA A""TE<6Y_-L#2;R<?T5%,8Y 79*O+P
M)<?2V1"6BD!4W!-;&[T>=.]U VU,0N6#MRH7Q>5KL9R_+["2JN_G%'.X0>A%
M:2BK,M+=)MHY-6S:X$W5+E !]"6.*VI>B"02-XXAKN=.L[D=C"*-.@+7BQS\
MFOS$ W00V>#)6 0BYVZF>0O951>4JFJ,=4$5@6WV%Z6NQK=*RDNN7.-(,M0;
M&*D9&$<EO@]." 6(?,!B&FJJ;/"P\T@*T"8X#)(AXD.Y4'O1&7Y;# 9F?9U3
M,IZR4S"J!?GG7ZVFLD>T6 Z(%+!@/"IO+.&+4*[(AXOG,E"NMCVG'6'<!<D3
M^8!Q'NUO[5V><#L?6X%XRM1UI=L<*/G>\UMFG_;(,T#&C@'V](:R@:KX!!5H
MXR.[>ZL((Q,JEGP(7R9'9XG:2$5 J,+B+T"P6&)?N9"G\T3MH@+EJKA0I6
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
M1OF%G4\@%2$EA#ZHCX==H#=Z%D\TQJ9A0C<3\JBEB-\8B1%SG0+[/4=RWI;
M(3Z_<B"D! M$2L4PHL'GJ%<+%"JLR0Q'UQ\U1;H1.LG\AM"3KQ<EW9%REJ/3
MZ0*=+<0T";T]A@,T:2'L+I$_?GF.+NQGWELA6'1M([*"D,>W]NUMJY)__=W;
M;Z&W3S(QO!PO![6QS5(2<;(?_0BU1=BMJJVU15+"NFOB!BDJL@#21=H,5%3I
M$'TI=U?G6EZ>#8:F<NI@ %1#?@'S5&$=F(U>1Y@T\88R_%Y')XS*P/KOPK#M
M*KANW0G/KRUM/XWBPITR16M!>FR^&">G_4&!Z_EX$4'G,%+ A.HR[91"V"U@
MTM,"I'^[*CRTLG=*?8<333?<N(CRMGRPB2#>E7B_U0P\0[POL<=JAGQ([>K?
M5,KI[VNU^RU*?\?6*2Y''R^*WJ]NX?;[J\E?MTA.#NRWW.%>A:9"D=^ M*B(
MT8'#GK5^2G2:IYGS-<>_VB'$@,2=\P61YN')1VIS:#MTAQ41)^*3!I1%')#V
M0>IS@PHZG[YS;!;R +_#N&1=%45ZL9OQ,@(=5%2=PL>FIF-DA:HB<UID(9V*
M=.OS7?/Q[;8.>I6ZHH[+V0.[-5;_*R]?]EA5!#O&.*&R(CX E$GS*"<4N^*-
M0Z ]2$\0U\SE"CGD5>S#S;H.IPS""G_]<31B1HQS>@1+/].^55XFZ>QW@R17
MMU_/JN05Y?[?_^0YEKWT+2(]==.Z)1\0JJ0-VDP8D'- 4EL:34H':<$-(G0_
M.A^KYG0-NN:>#]9YF?2W;SVQQ'P=[G!0V,X5W7*)ZHT")C+ZNZTI8VL@$B:U
MU0@).E)PS9^.(Q,K'L >PLDUY"73:>P6K3;2:+/B-(+"*-(N0$NQQ-%\CLW1
M+!_<O&NK?8C/6&2OSLZ^C-S*P3H[2W7D(3"H.GBE6MI04&GK"YIJ UWN75)#
M0>_+*F[)-O]W\<TH+)9[TZ6&7UC_](2AK$PO@EZ"KS7D-^",S'"689?:C/8'
MO B0SMHM[- AY"[/V@!0=<V$]T)E>:\*,&I F\ E3970<4[)TI;R$'V#&5E
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
MD?$_NZ?21WB/?12\?HHQX4O+DH:7&F-K5Y^<F&,#[\1V.[:F:HJE87AX7[A
MUI#?/^G:44_EU*UBF&<#- Q\'3['/L7_[G\K8K]D*?\/-0T#W\:_OL>_;'K_
MA'5EZ?:L*9VC'K(L8@E9([()Q[4PU.A&ZK_.V(H-PX!%I4MLZH(7FRU1O[V7
M[I'EXG^^()8.)5U?GWF;Y@\$ 12\M)5T(%S.X36YZUUK0Q DUQI6C746J,70
MOK/8'^X5RS&090^TT=V8_> %S"$,K([:[KUK(1(/SGOQX#R-!]N6<W+BO4AC
MOS0J<W)R@PS5=!1\%A[Y?6P-6T7TY36K9+W(K[]94D.!]R:9?#U)8SN1+ 4R
MEQ9X239T[,B\L;R7-Y8/!I_"IPP)J*1A"1(?9AEE)UG!K0*PAT+^"'\*X5Q_
MI017CP\PS<"J44EBNPL0E/![GZ840XVDJ]S^T16^$,)=P2?#,AG_CAV)T]KX
MJGS3G(YO78#S.Z&U)"</T=]24QKBZ:\8U41B ?T!XQ*V*\]P->&/GF !.H2_
ML3/-OA2BW%.IJNM4Z)UPG+(L$ILLYOA]LVQIH+P@J8.0(2$=(\<@@LX=8?3Z
MH@\_>(KM#20Q/$ICQ29]G:R1:9$7\.,WRD3*9&4I4ZF4X:Q8GJ6(@POFK=^B
M%T55Z)4RL'62J<A$4/(%L; PAUI7TQ$\X)CX"!AQ<-@SQ<!OGAXUJOW0J!I&
M"IK>8CG/%8N1BXU.4O"G0%-5GK,\PS:+;<39%1;S%L*OG"/ZWX9!LG^P2 =;
M4NFC67:8]=AA-I--P Y!/6!\S\^\>D DL@K<1VP>9]<FXE^":ST:EO WSDJ?
MK]5&II_[D>L./%;*3P4LA/Z 29UD;4DC[V1Q7/2BV?AG(5@B66/68XVAB15!
M*+!?1ATGQ!^31CH6\,="O'SFK!"V)P,C@>,27HG%+8489@%A BJ\%0%-LV5G
M8I>^&A-%/0QL!S&:7RHC+QZCE<QIL12+U-.P=).HJ0)LWD)#12/SG2*4= [T
M!_Z0OP:@1]T65AN]P4-?^WEO*QD/J]X>,#;Y)M@YDF%U\2$VA]:E.MK,4:1/
M(_-\*%9E,&'' ZT[",AKS/ E90:9Y9UHQNO@_!5EOSU=ETS[>G!H*O!*)+(A
M6VN.KNM!Z!3??9+&':D;S.<"M?6X@)"3O31%C+O8:K"'O>]/E3?G F(E5F(4
M;\B<F<L%0(6G^><@F#L(\M @$HOH33GU739@&8PL]**9KJU/4LP1!KXST\*?
M5)%%2 &1E UIB)R!J4H#<XQ>D 5N'$FS)<,<!SUTQ"* UR)==3T,//)7>%AB
MIA?9B-FA69)'ZV&OK(=<T/8+&! 12M\.1,I2#&36B5=7+N^_:"TM9VB')E5B
M6<Y\)UY^0T;"'"=>G.-.QHJ'@<;Z).B!X$#&+R@=7;,'('1,C[CP2SJ^!@A?
M!L/MX4^1/D2ICJL1U_.L\CK6=%TRNUUWA"D40Q58H#/ W(F_(F/&@Q ("7<D
M#4VL]T,B F*N#^\Q)C<Z$Y]' BOD(I+X55+\*L"1#94P64@.%:0F,$ZR _X9
M_(B->2C)BL O*7C/U$<3+V5%]>Q&,TR+9,U1('O4XHNHVB28-$<?:6N-B/NS
MPJW9AEE^W7WY<G?92^O?D'<1@X?PJ6JQ).<7<&58Q:07SKUGR0WUPH;,NNR<
M.XA_>1+MS+2E =()7;M\IRFX)QJRC^)V3\2MR%IX-",0.52QVJ6;(UG@BH@\
MB<_PC!S,:A!H6UA3ZV)>!8EM$(<$8]#6L9)&-+D7A;!@N#:808TQ(6!]\,Y
M6 TT5;?KR-)EO=IJ5K\]8/B6\O_**4P[='VN%C+GR5@;#H'(1J:I4T\UA@1\
M$),<V3M^4 :*@X_#@W'?QR)"QX_8Y 'R&\I101O$@F"@]?&2*:P_8AZ@D#/#
M-K"$,(T^?G9$>B<0=HOA2UWFL(<.\5.[X$8G7\97O ^_PKJL1:4-<%[R$:*.
M(IO^7O@.8^%T3\Q)#L<]E:J&"1_QH?:]VJH_"&"3PF"CBX"BC*P7"@"\HF99
M6I_^JZL8&&$8&+]=I>OJL $:U8(T#>O%U"P!N"G @DV@1A?631L3B$LDC0!D
M8N9Q-Z_$]/*(K;!SV$%=#^_'%(G-%JB-??@$Z_TNEFHIG^1<!RL[4X9QS/!T
M3"+Z1+&!WX#.W]%,^,40LUSI(QP(FPD]V)'% ]%XGXK-P^NM^ZKMA_DH/8/?
MKH,)Y 3OV\'OV^(NU91G8W1I/V3\1=WLP^XD?#<-O'I74V7I^H1N2NMB68R_
M BC RQ(V3:MZB$Z"[2.0[EA[L4R;S"(#6L>+41;+P#G21O#OL8;5#D8I"!@Q
M<H>R=Q]E"AR'7O AMUI5S&#@AK-MP.D(Z%VB9H.)QDX)R#4&I!B[![FK&,X
M12"D(7[H!9;K6N9(FD"V(T%7BAV*KT6) 6M.A"H'V/!#D)B/]2UL[V'U5\44
MBS4O$N\"$H%4)PP8R^,0E A&6*QH&(J(Z3%XXY*JO6@40&&Z23EC4\)RS#+Q
MRM&41R]UW](8[6,0*@XC<>]-0N4$NSURP/<DN_X;R"W[M/%4L\),JED3'T_K
M8;HTG"JU_$D]AH[QBNPDZ67)%FA/[:<?YM>B56\I_4-(*<O.II05VE.G=)]N
MW;9N"U_T#Y^:C<^WC8O&6?6V)57/SNX>;UN-V\_2_=UUXZQ1;S+,2L?LLKU2
MKVR46IQ+YH?8,>?'XH'&RT$/P9J^181(U\0Z=0>R*&4)O781/A.5S$0I&&M8
M-F/] 'KO@P:#;X:E$IX-PH%GFX$].\)6;5<;Z?@<?=!/,*%.X.]X0>)'(S+L
MT2!E*B0XCWGO:(2O%[4CL1R3^B;A^=B<09;!U(6>CKK4&AVQNRB9KJ-KQ++%
M&N1XEVPS&JV<NM[J^PT*6Q/+;*:*XH]@RQ!(0$[QI$"B!1&?@5<MY&<E"GF*
M"R@*>#?1975=F&.*E1_X!6C!GDZ#_Z%@TB%*DX6ZKD7<'@;11FEJB:K972P%
MB3)F(.@6 #XKJA#W% TT4C^KERNP0H9BIO2O+>QRA#4:.E\5LA]#*>E<EP8-
M% ME.X6? ,7>) HRR4>!#\,3#DEO']+T=OP+ ^LI*E*I;A" $,MMD>P!PB8+
M_>PY/@A8S%YO&=">50S=%P I5^;X4RGO*8Z4**B?O@>&NW$=H!#6 <X4>U U
M5/@/%&:^*#H C\CP28P*D!<GUB5ZOSV];/UX+BL_GX>OE:UJ -L6(A^5OS%6
M/H74@V*U/2VJ%^6OKW;&'G<^? )PD-M#?A  XZ%7^_2>=-=#5PP\OPNP*@VJ
ME FS!M<#ELBZAA&H"M%%6XB"4)F.62TVY#7(I#(MP:D[!-8-]A[F<EC, V]4
MC""W5!PO' 8,UG.!D] =MKPP 2&?@$XEC[;"?R(2A/LT^,YL"-7A7?DL$MN1
MCN;07/%3J1K']V=X<M UH&* 8!V':DL$<N&-OB/RWKII5OH@A*-;R!J>(R*9
M%S#BG!^(G_-2>UJY*G4?G>D7]*0?-O?M1'+?6GLZ3E\/'AIG7R9];)P!+"0.
M#(;)4V"Y[X@DWPW'A=RD'E;T\"<QUE2&->K]"3&T#@G.XDL'?,S&FJ3QS+Q/
M/<W"%IFX FB0H)S^)QQ6*PG*"Z<1B))U_=Q]H;6@:3GT9G4<*-$.1K4NX*OP
M9Q[0>OI><EH_?W7T6FE1E(I_.C+H%,J:#WTGQ#M6[E!2+)?E3#:JU1MU7E!?
M+_7[8NNEBJU5'1("\@!SHJ!32(^4R6S913H YH[3P%+'<D%X\KC< Q9XQ*@5
MDX6BPI7K8N5J\NM;UJDWG[_W%V,EZ4[7Q]N&8O+YTTHZJ@]4."Q/(DH]HA2H
MEC(&GS"4]7L:"A7O?0L1;S8S'(F_%8S2;A<++=5?+>9F>>%CK/T,W2$'X#TR
M("RUJ6MVT4?9Z\>\=9/W$WS9%\6 ,?GFO+ROZ%VNC=GBZF..XK.P96FDN[:4
M^2O%4,-\1V#S#D!7Q;JBCEXT;G/;"#P5R5AB>7,LL4D^*R+KY>RS^O6[^[-F
M+8S<+\,3PQ\*H6#E@;.Y=$ZN%*(:<D4RQ0O4L5SPP. =%I+PQ?*;\<59U*BW
MWTO#L\^CRV("<;5)QK@ >1O*E,Z<SDF1Y'PBM9@O*IR7X-]-X)X1'RR_:,Y
MLW9_SUKP51&7UJ/:/!_7W6)=V^0U"WTGA*B5.Y&6LFFY4H[J&<R8G7#%H%+-
MLTK)G?)QA\4:2<H#&16&]MF;W;09Y+105__AV#?VE;+;BS8??1M*-\^=1H[F
MXW4FC:TJ';DM*1TS./P^&1@_7\OUUW3OC92.^<A<N0ME$J5#BE8Z4B&EHV>Z
MEC-(Q@RS&[3#R&=%9)657]D!TH9C;;!10RSTH1 *5K;$,C)^'_Z75.W@/#&)
MQE%X.TML!B]V_?OUEW2].GI-@)>-FF+S,;<A6RQW6IY3>K-0TTBMRPPKV[+
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
M[E U'15U\8?T#Q+[P:;ABZX"\, _N89&=_W8//_PJ2!GTD6YDBYP,<YAQ.5
MZF.8T(2!,S-(A)/:4+A]#TD(I#JP/=+4MCIJN_?XVAPR?17-RLTW5*TKU9Y'
M7]7(!-L>S)3R;7>XXHP9 -N)(T<8!90$H/M!>]F$M->XO?"H[R0KD!^0 Z:_
M6,+[Z^]4?(>\D&4E?83V>-+)+%<\VQA7S'E4FSLDJKUKC#J=ZE/FZ5E[&ZZ8
M\R@SMQO*S*_/%?-RKE@$SAC+%3%EADFMLBY?/% *&U]?_>RK8U2_SNT?7]PY
M]14WPQ?S^7B^>)J* .]\15):0I',O5M%DH/MP8,:I^%6X^ZEGO_],,T$N>1!
MJ(YQQPI19GE]OEB2R_F<7"K&\\49;?'LO6F+\414^7J5+]>G#Y^;ZRF(,DWA
MI4QM[Y3%9-263VJ;+."#Q?0<_5 )>]BEC^=X5Z0%-_M5I%*X.0XGB.Q,=J^)
MLV:;7Q_2-Y?*M^R;<#A1$&>RVZ&YI#;)' Y7E O%C)PIQHI?K/EMW" ^'"HZ
M*PX5[3*7':ZGZ@4Y7&K+>M^VR"VIH;&(Q97FJ'I2$RMOMY!JF.>5D@)(([RM
M4$H)03QO"HOI6K/:WWN*/QV\EU_TZF/JYP.W=6U(VO9V4%=Q688H]VV3O]G$
MS>]YI#TG-TWDZ4RDD4[RE\EC9%7BG!XJ3U#H%:B0U1R7CF1+B1YT?-<-APSX
M(6^S( !)"8U^G<>5'<P<AB3)!RJ7I!Y2688L?IAD!;$01-!A3V>@.\+X<S5%
M#NOYZFG%&*/U(PWO$0U'!UWXN"A"VA%S/ *CETGHOZ>[T*F9%U+2\A9]XK5J
M#E!N=(I6"A_3))D9-++%-\$&2&GOJ^3[H"FG8:1(;0SM/PY1P!F6-C-Q#&@I
M6&,ID01Y3"1#$TM6TZ(I1P%*8G&^$"E,O%53EM?T&YYC+;]9\T&OIP'ML1'=
M5,-09QIK\%^&>VM$<[T!4OO01C?,TOE6Q?,<"7A/"#B>]7DY0X2MQ3' <$,>
MB^<1^_WD0SQ/S$4E:9:<+J 1M*3PNF2@5D+90@>MX)[L>='RB-WCRT!*O4VC
M?^+W]+#=SA.;1M737C']^G\/?>U(LOM!L@EX[BSV%_#;,*^=H3?@V72D B;9
ME(4H/:,HBAI#U;E?^PH63(?DA-*V!<H+-F@(=]TY6>VDF&6M\M?LL?SUC<M?
M,\?RUV/YZXX28_,S=8-U,O7WAJ3?-_Q!!Y$-\ZOB;-=Y[[6GYQ4K@[YK]M5O
M=-C)L59D<FRA/:WW&NEJ]_RL^-C[\(E"0Z+@D'QX'+-D]P^EH@+NV5^D4;)/
MQJP&C>C>%+6T0$68&D*\9+1<P7^1UZ8$2EAHHBPKFL#*">].E!);;6H&UHB
M\=/^(F#>P76W3*B>>F'U,O1#")W.9)+D%E[-<](GGLR0N>O=\];\5=K_$YL&
MT9%3VW).3II=;&FZ.@S+BUQZ]K<(@9@+QAS\YWEHH/DTL;^?F>5?S9(7&Z@'
MP.U#5F:-[LD!/B3GC+,1R_ ^0AQR=O[U2N ,S/WQL0M&DU_]KR(TI-83;?[%
MZ"G<",H<XQ?L@3;RU6/FG7@Q"1VRN;F] )'0KC!^R6@V_1?1IPOIO\#GCX_C
M]@>L$W(/GQYKY7X;9@NQ5&]:K&0:*7%I+U.D8\(, S+%%AHYDR6"@P9@I[P)
M#4EV9E54"Z]6H+SI=$8R4GXD/4(M66K!8G+XEFI@<FBL1[-?MN.0<3U25*E.
M*)N=EK!1V/DNQ92B @]C%5AD0C0R5-N?JL&=1>&$&SHT.(0_O]R)CWF&5KO4
ML1WL"$3V<0*E9R=>C6O*G]3D^=C%&B5G8 GX9[5''V'YOV56$KVH8"D\SRZB
M:"E%5WQ/EORV5;3"S#S3SVR*5]7 _(>/M:H2JIO?["$O"(7DB[2GUJC05/.#
M+_V?!ZZ\V9'*6ZT]'4PFO\]KIM*XP<K;9W%*F@\<B4+GJ,+M'V(YQE*>F/)F
M&PE5I"/7Z@Z@40Z==$1:U?CC[:#O&\QWX[H5+W'"[!P?A4IEH5N_/Q8OW+H
M1O-!KQV/C'B#G"%4P4^AV9W7,8[-C"3:ICA)SW")*/(Z;5K$"T#:6O8D7N$L
MO"&T#E4LK$H&'+,IS)<AR\"F8^MA;7\2H+ (W8X?Z' M+$M^NXH%B1C0*@+&
M6D(G!=[0QY^1"OD(=!01ZXO@-R#HH#Z$?T$PI118#L-)(<6ZP7)JZL?NLN +
MD;VAT:E!]9@TMN<SB+P&>,(0(NCW1Y-(V/F9!I^*W@.O->?*">*=%N;4=$?Y
MWWO$@QX #.AX%H)()'U7<^QPSP69=72 WW#<$#4%OB3U !6@6K 1BX2D$- V
MENRGTJ4YQJ"W9*XO"C-FX9_B>1U2W(S/XN+/8522SH-^K;='*/ 27 C_+9F/
M!.!]54FAGS>U<@$(B%Y"DPCBSIWBYPY&%5R;]G"E"@2;*NF3%V\4(.J4Y+)3
M/N!O:28J(@<(AY\A%7L&KX'D@J/2C 4[^K3>O>.=&F<H19C)!31&[R<P#6 T
MBVDA<H_17V*]Q2A!QF]5T!P#@^%X(P$$].5QQT##3V]--GPN7-<?W).GX(IC
M1ED*2XJM3U+.A:_X$TUUK*OPA*79M=^3QGG0HKH1GCHKE"#SZ;:.I:@( D L
MG [_E&S4M6AC&. D!IEBB"F#38(E!@=+3:,5NB ,L8G,7A ?/I5F-Q&S*I\4
MQ$4WD=SP6^"(LX+;- 01BSD5#,.-EN&L\RP(.[,GWC#24IKR+MAG8$,18VS)
M\PI+G.6=DC36ET1D_*859NK$G,8BG;);X=F4()C]+M-<-OMR:JAT+?/$JZ+V
M=1!@ZBI&AC7Q#$',R4^@?13(;]^[0+M3TUFX?5<'>$S$:FQ;)F.W!QI&K$5&
MEG6#DHI& ,4^WB$%8$,RG7D[@L"?PT/YC.19,<K:V1C\!-!UY [P-<9JFRPR
M>'B:>3YXHY33U'=XE:(Y!IVA."L1TLS_."L49H[$"O]#PL 3*UXA?L2HCOG@
M"8B#H)0(ORB+5XJX9FB79E46)F4S 03TEJ*:O*@.#S"_\^N9>'LO</ <!<'>
M"(+$/:1R!=Y#BA.*[4V="QCKY"+A1[%I3MI+X1?_EF-L#EM4'U)T1CCGMB=Q
MW'9,$@OXS04[:*9:Y%2J*=Z$UAE=/&1OC!61.:46,Z>P7B-[4@\_;#N"P*3R
M<Z"HP4&R81U,LV;: M+B0 MX/$SB$UB2<,4X=X(3 )/1D<.,8?S\S%7TABD
M@_%U8&L>S.T4@;:@::JN9VXLK.<^WO,]N><7 G93,?J+IUZ! H6_:BF0P7!"
MIH41-<ISRV!R]9O!8-,0*A>84B<:C=2588?U,U_K ID11W>TIR4A>))81!_@
M^Q4G+#-7"?"B;/K?AJ (]J1KF%QU35ZECD/R%.98@ALC)00X:#^[]T2V6_>,
M9\.><;S?J@?1>ZQ$FM /4$A$F.\?3PO^\667:D];RN^'GS\JG=+W[&%[R9U(
M+WF^/2W>]WZJ1O/7U:_^AT]0V80IW0>2%(32T4^^?Z@54QT@:5P#N3VD#;R@
MZ@NZZ&+&1+L@C\7PZRB 6\F;?@3J!.F>"/S7)+[UP(.JIM+4= 64+U(01 LR
M4L$$^<4SK5@O?)/;2GY;>SD<1Y54$]FL>2SID.E9=1;MMT]F,\$_4PF.2;9.
MQ]O0D5JT[@0D%#N6/RS&/Q184?XY>&-(4'D$C="/F)[.9YT"ERIDV],'L_ Y
MWWEL]4>9K;*:O<E*S1VS4M\X*S5[S$K=<E9J "V8#SLG340FU7%LI-.4^(_9
MJUP!G)DE>@U^4'3'^]%?PZA8.T;="S3VFO]B>VJV)KE2(?>[/MRN<A>!DG\D
M>XB%\PF&@IUL%GKG4^XT%=+?LIGV]"S?;&JY*W15*W[X=%VO-NM-GC?UO_]V
MCEK:GFAIE/A29! !<[]3STI7AV2$GD9;2C,WOS]\P2OR0G1&LLV[I>J$N&DM
MX>Q[LF1#,[<3!PL B>2I0>H>5UZ,?FIV,=,ZE2X@^XS^A?;$1A X#L2Y,UGF
MH0GZI&G.F1WHQTZ$PXG9.X$R]8_,H'ZX>V1&\]\T3B/,?S8[&"?42<@<]C,1
M7_H@Z\7JNQ#(3D\E"F72 IS'G4CYF02.8JRR =NA822 .T2AY13^$QKCOYDC
M/\WMOP S-E2/JGCLCYZ.3,,=U,=@LKD'@1=FMDI&K8KICE%35%/"V UZ%JJ0
MD[,0WP2&'W-;R+-3LT]X&UPVG"%BMO;DQ!^_S9]:LL_OJ; )/XDT,NF1D #X
M!X$$2!]YK%W1<2T4^=R=3S<)NY+]3:?$')S@AP12(05KSR@,;\B9(<$C+(;\
M3T3/KF6P5DUB8+@VS=1A>=XIR 905(WD\@J3%L'0TKH:+8?[EUHBH-'(4=,;
MPU_$*+6(00)!1=.RS#$)@) V]WX*#)A#)*H"*2ZA\WD]D36#MALA^(:V_K3(
MV!'@BO$Z1,P"8O-$6@/D+T^^2SX*KM^(#H9S9>HY6^8!K]+6&E&]NB#/?/J[
M6\JC>J?@]OQN:G=A>@_L:5$7HD6["?: J=IW/5$)":@=&VK05SB-[USZGOR
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
MI^-&L80J12N/4!)?="S;.&C'\WS-EB>^Q+V[N/",KQ"C7R18V-L?/CC &VN
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
M$P2]1:9!Z>C[(-J],;HYP&J:K(.]Q=C0X$^2K!'8IJ#]1B*ZK*" )S3@D3F
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
M?Q0SP9 _#FR'V-P72B*&6-Q5$9"W,@6*(5YU*O?]A\([1]-!/+!EQ=OGFK&
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
M_"PG?&S2R,#%U4E(>DJT:::KUR,#V\_% >Y^G:OT1_>]11<*;>8@D(&SJ\C
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
M,[JZ_5MEF'(NR6:%''B:959B.7:;]=+.%HE=HR_KE'\MEY9=R%STYH,"F0D
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
MN"H/K35?Q60?=[NOM-NA*T/M=F97K8&% _V)Q_WKN'\=]Z^]W;_*L@3A)>2
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
M4G[H,5&(,;(9BL8*$H#+Z1&;/COAT?]P)/P=$L70Y")+B-<S/+&G [T'R)#
M=<@?0M30T.I8,86.=\B/@LX5/1F-^P7P6XQ!/^IGJO4_F,7_U_Y=9D>"ACC4
MY%7$&B@A !_U1G@?"VC[F/WW;_OW@7[<07.FU>=3*UT[-@9]'R.=^8$#+]
M!OT^P?IXCG4>QSJ/@TB3'VL)#K*6(%G9W9#^.UO49_VLG19LP,:'CJ\3 ;8Y
MV!"Y']#@;"0,,<!.[*40OC467O40W[,,C3YQI5C?]TT_]F;U-(T81!>CK'XK
M=1PW,G0Q\\J0X/B1K J:Q?AP513K5<.B".Y$65](\2/IA3 9FLQG O3#Q,"/
M**TP=XK<X7D.%QP#HI &^3O P@(,A(2)P]!YMQJD>"MO J_F)%K930R*\_L.
M'1OZ +QG,&&T!>)_S^0+).7OGVQ)1VB*(=-!VI-VI"-GLJ+(4XRZA=/?Z%"F
M:+H]$P7)2*[SZ#">,*$H,I,IDIELR *QQ-93R&3((A6R<FY+&PXZO"K\B)UA
M*)>D!9@J9!$A K E<56B\GDRQZQX GNC2O;M1D1,2IHUV3Q9",*8K>C+^@MW
MI2X8]75;VI)-D_EB<&N?H+)DR"R]O]N.I2OZIF. ]73DX5"&R)S<&21,(#J'
MUKHO[AGR$7)A?<7M%*EC(# ,%[:$"I:T'B'GF0[BOFV%.]^I'%I.A(WG6+6^
M^T3D_V_OVIH3UY'PNW^%:FH?DE-@L+ED,F=.J@AD=JG))EG(U.[;*5^4H#/&
MYOB2A'^_W2W;F(0AES$$/'I(50!?6M*G3RUUZU,AE,%@&L*BY.9&.)C *6,7
M81YYB@,VY1RU\> O3?]&0A*QE,S#V(4,=WC!?291*W_* B!P.<8XY]P*,8-T
M::.KAJO*-78?A-_IW'(9^6+W8-,_S&:M:W1K[6.3'0RXPZ<V#[.@"<J>X07&
MD8E;.0[)CH*L&I7*#T@\#P_4$_#0HMD4.DVM+::Z:T$2>]8\RJ,XP1U?*L6-
MB(!,9&$J%)[9:S07PNK0ZBZTD!>0SJ,=8,R[" LWX!'%V1$3CIA)+<=Y#KR5
M ([ON7=7#.$A$!XCLJW@L,=P6)5VX7)X&_Y3((YGDC%H&TRJ+"K\FD8 @N^7
M\C(X\\1W[LV16Q?7$L%Z68P?SVK &Q!I\)!4NQ0_@=.!1F9I'$"5\RTC#X\R
M*>L="LAK"C3F7+L(@*%,A(H<A/!=<@\'MO^4SHS%,*5%$J/"MWP'44&'[&6B
MMHZ7N%+V%G=O2 %2@7KR<G\'Y@T!PB(G%#,Z<&>U0JE6&"8S65,$Y Q>[XA*
M90NMEP[J*.F@1_&F;4L'M95T4#$J_([20=4C]9)S^>3#A/O'!__/9O,X/Q!L
M"/2LM776O[RX'EV>CUGO8L"N1I?]L\&WT=E85TE^[V/\V1U0.Z4JH(KV0#J/
M..GMPY5AX,D9+RW4N?!UM*?%K)RO] T>C$X_!X<_Y [Y,=A2),6%7\N-JSCC
M2UT<S'J&)P/]H9]42_TD<KCAEZL0/L/5'CM[X$X2BSLI^O\E=[$N<<F$AS5,
MWD:_+*%,:\O7> ZAS).2IP3 (WP>1=F7X'%!!=%#\_28S"YW@3NGB+M9CKN5
MBF$Z^R]NZP7?$/ZT%SPDGYQ(8V2F.#B8> _])GP8ZZ;2MOS\(;C&YH6)5;K?
M%PHA E<XJ6,94=U3DXRA!D,Z$)T,.,L63?LXL8HB?#CYHPXZ,6Y-6AA%^&^4
M3 %DT-#R+"3Y:"[;-=WY%P,RTI='#(]?!2=UL<MY?-;//=@P\5(30GZ;I$=^
MU=*U(RAME. NZ4*1!0GX)U.\-K4 )X.)#VY2FE>_'D:S'$8\@Y$FSW3*8!1D
M,,)3*690<K@%GEW#9UL>+JIA^6"V"'- @56%%75KA:Z47TB;9-'6.KM\$8"T
MQ\V>IFW1T1B+F2I,=SVY.QP>AGIVZ4'>S@3?C_<OOSY['0OLOR3F(YV=TK$;
M@6R01?>H815I+^YI^.AT*D.M!0^+^(NZ2ECH@BL[CF+Q[1N?1E$TZ*=#]&-]
M:.E^!AY<=5T 8$2]'@"WIT6MW&@+%*,526_]*/N*L30E!R3X"<=U/+DZ*X>+
M=)P1&5K2_JX16A:,&F9H870L'O'3*XY56:(KH)DB7XF80A-/B2CD&D8<;,Y]
M##NL-YC]T.!7'?]"[\[6 7.-'A@T<=F1QM-\(]ABP?')];77F5BA59Z]$9YZ
M/(TTFODT\JHWNM:&PZW/%K/J_+EW_7@%C,K-E@INV3"!-I8FT*Q#\V2\CA;]
M82#)?3=9);2:]W.U\2-HVGDEV._(Z1>!3$>4LP:<^:"6%Q! ZE>"G^<&,R14
MC$6DYSZC*\M&X R#B7:G;M!IHT@\5A@B<2&ITW92X#*__MR%!QAEX< 5TNFF
MAFDW/QXXM!=NE'O:VKC^];!(<7\G,%KP$*A(>N]9:.VQ;_;3=5LA=MG"*I6Q
MW,FTK@[C]D38(HXVN"REY-S>+M7P*.)@/XTXO+I 3?VH9)\18':18,1\"4,K
MDI+>8.O6Y>G*K/'-=^_!(KCWN/)79,Q50$>DI1M*1.3MB+$83#YN_O@PB>-9
M]*G1N+^_UR/NZ+?!7:,'8S.NZC2X>VN%#=>*K8;1[!ZWCMN-)CAH[>.6T3%-
MLVFTCHZ.&ORA53?T23S-N;4.3ZI# 4++@>)R.;)\..DAE'!Y#GP&7 80?D++
M30?%'X:^$X0P$R%_XI!]CI+9R8%Q"+4*_WQN6+\$M$T%[7>&=O.XVSTF: OQ
M$FR?SCWK/DKA:OY:<#44%9>!5P";D1+I21\;&Q-QLD6V50MLV:+Y51)&":;L
MQ '#@A_]WFJ:60QJ;(6VY?.H?OG@\3GK.90=!  W]=]^&7PJ/BT+G^:S^'P:
MU%'X7(]/4_%G2?@T7\6?JT.01;0:']DW?:SW]12W1JO3I-ODQ^-F5\&X?,CL
MIE5*<+:D<AI-0Q]>C!52WFSJT$>) C+O?Z>C<Y@SXPXHF$D/ B>1,A-5!Y%B
M&\4V+V:;<?]?"BFEL<VU]1#XP70.GE3,?4KM&SL3/K44_53&*D4_)=)/OW>N
MD+))^NE;GI-F(+!SX7^WK4CY0M6Q2I%1B60T./NBD+)),AI@GI107*00IKCH
M&2XZ[YTJI&R2B\XMFWN*AA2X% VMH:&KT9E"RB9IZ"KD$=".FJ IC"DV6L]&
M;862MV\WQ1UM9!TIGM"64TON"!Y8L<6^"(^S Y1T<]WE_>62PR1_N2DM':HC
M]MYF_*9WIOZF84/FN@^YS%65]BU6>2O+J\UMZF;)$)()Y3O%LXN\=^Z2/?8<
M<'W#0]*]0I**K"G/$H[93;$+/!%R6]Y?9\(KZO]YTDLJ.XKNB[M5S=J7V>\[
M5?7/]*T@V_S(6@="'*9]:U6W^EC_FFDJ2CG&WBP4'KQ%]K/5?6O_7(9'&Y\+
M ]-ZV<2NDDW,[G@GV<2.DDU4LHEE,\P6Y"[,?#_Z>/C/B]XU"B0J?<3=F7,-
M?0WU@$.7TDQSMW-)2SVX@=NE+)_10FT)HW/@'F8)\KDB7 \%:>3-MR**0XM.
M),!S))<TBZ4"7:I=ACIM,6KO3"SO1H/1&^]/4 ]07E"3 CV)#W>Y"0K?)/$D
M($VY*LT*]\;X?UMSS>AL4GA-3<#W:U:P9DZVXFC=G[#P$XNFEN?5':C(ESW!
M/OGB\0<![4TFC0,O(=7(3+,./UA>#7>FZ[NKK9!CJT.^T0Y.IA<6[KJ![4U;
MN#NPV<V6*-.JT_FG[<B\E.H@BY-&U"!;!Y8/$Q)VJK/+=!WB-!3<_]P0.\I$
MU8<43;MWS2B)$[+D*5843M[#JFL1>[L'%,S&$#A/)&.DUOT/Q244=)15RI/9
MC=I7GHR"E/)D%$Z4)Y-[,JG?0L8LI%S0I^DMCJ];Y\J4'IS=\,+D^@#LT>_L
MDC1 HT_LW(IB%85]ERAL=YM1V#T/63;LP)U#_VM,XJEW\G]02P,$%     @
MIX:O6$QLW-EY$P  _]<  !    !F<VDM,C R-# S,S$N>'-D[5W=<]LXDG^_
MJOL?N'ZYV:I5'-N3["2;[!8M40YK9%%#4I[)OFQ!)"2C0I$:@O3'_/77 $F)
M%/@!2786M\<\S,A  ^C&KP$TN@'BTS^>UH'V@&-*HO#SV<6;MV<:#KW()^'J
M\]G<&>C.T#3/M'_\_;__2X-_G_XT&&AC@@/_HS:*O($9+J._:5.TQA^U&QSB
M&"51_#?M#@4I2XG&),"Q-HS6FP G&#*RECYJ[]Y<7BZTP4"BWCL<^E$\M\UM
MO?=)LJ$?S\\?'Q_?A-$#>HSB;_2-%ZWE*G02E*1T6]O;I[?Y/[GBMX1ZV\(?
MWM]NZ%^?;/+;"H<_I2,4/M)?T?///R]F'_YX]\^?UOC;_<.OUU<++T0/S_3W
M+];S9N28UO3*O?QE\?5+UN0GZMWC-=( C)!^/F/RY>(]7KV)XM7YY=NW%^>_
MW4X<3G>6$7Y\"DCXK8[\XL.'#^<\MR 5*)\6<5!4?77.LA>(XFW-D$M:Z$E(
M$Q1Z%7H_V18H$[\[SS(KI*26]'U&2@I2'^_14>R]644/YY !])<_%H0I':P0
MVFR)EX@N>*5Y1H68QHE("(G[1(/D>8-I+6F652G@)_%>@4JO0?8YRV9E+@=O
MKP97%T7)L6/N&@GP$UD$F$9!FL! X5K-VWE[Q4K@ *]QF(RC>#W"2Y0&(,KO
M*0K(DF#_3$M0O,()4U.Z01Z6K;90>A2&$8P-(,A36-IF0T#YMPF0Q)3E8QP%
MV 6!-/8#!F='6XSJ?!C!3'.F$?_S6?:S5&M1KX^7)"2<AWQ47F@#-@93)CC\
MY"4_G>\3BS6E%/M6^'?^>Q-C"L6Y;!-(R,OG).UE/11X:7!4T1U_;27S]*)'
M7Z2KS3#!,5D/(3$*B(\2[%^C@ U9YQ[CA&8H=%)) 70)J+ Y%6\1"GT<@I1:
M7K]6;D#+6]"R)GHD3T1RAF+HCWN<$!!/#M9J$2F,KT[!6/NATN*?>\P/QWS;
M^=1:6AMF:+$B>N@SXRK&]P &>< FV&YK/(EH\P _N"(I_?CQ,/W8,:%%2VW'
MAH9"7ZLPHF6<:#\P7OZL_3 /4>H3J*/7HA.U:(CH_3B('N5494<MI0_O3M$'
MUI;&&^OQ?CF\G23ROMU'@0][,./WE"3/4L#7%)/2@/>G:$"YT?_1LF9[73A
M%ZX1)0#>K"1WAG9=AA2>?V5F.&Q]@XBF,88_KG7'=#1KK,ULPS&FKN["MK8'
MI@,8AZQ"V*UY*$QTSXO2,"'A:@;#P",XGXG;2:3 ^FD?+,>\F9IC<ZA/74T?
M#JWYU#6G-]K,FIA#TW!ZV#I@FV!$"WSRWU) ?-@'8F+H3M_?G?V=*SZUL8?)
M P*BK.]KTF5PN'B[CT,^"!S--H:&>:=?3XP>E$X#XP'DC>+M3%5.D(+A8A\&
M<WH'2X=E]W-0=_?/X@@V2LDS,X<VS%2"31N?BYBAE"/202,%TN4^2#/;FAFV
M^_4OFO'+W)S=&FP1F8ZRN>R+-1GUV'5A=Q-%_B,) H #S%\4KAB=3NG6%==&
M((7:U3YJ-Y8U^M6<3#A4)MAGTQL39CE-=QS#[1'K7/&C<.5BYF??1)04, FI
M4MC\*%@!%AA?KF'?:B-C9CEFCX?4XD,3OD/<+3Y%@A0*[^H6'\=ETUG?_9W[
MEON(Q;U ]:%E;"V',8:M>+YAJ<^3 N6]L%/Y8MGN@(^-B3DUV 9S:!LCT^TA
MDIZQ%LG^;+60A$/8Y9=GJNL>@\YAPAQ7UH:GYH.CG"*%@;AY=ZWASYHU8PZ6
M?J;JC#*C#4E0P/L]#S:74Z0@$+;M0WUFNOHD@Z*'H .":10.O"A,X ^H8\4=
MOK!6YR.B,5<&FDMA)S^UIH.A-75M:S)A/BTP=0T;UO5^I'1.5GC%S"?LESR.
MPY0FT1K'[,13O.8"P9;$ +RB-?' [,7,C>_EL8.3:I""6_ 8.,8-L]B,T5\J
M3LWA'(;FK6$#_&/+ON7.:+[S,4 WK%MSR"QM8SHRIL.OO6)T'M19;Q +R3[@
M,5E!O]/BU(Z0+@6BX%$86K<SW0:0[@QM;-[,[=[]TSU:TP7%OZ<@L_&PVP4)
MJ5* ",X"9W[M&+_,F6?'N.LW1*<&<@X(Z!P4V+D4/ D=@1WMAZ+^/F9Z$J(N
MBS7(X)D32J$I>"0ZT<QJ[[&4B]>50:ND2*$CN":RV%T/PO%!O#(@C;E2X B.
MBIJ 7H_4$9&],D1BLA0V@@.C%.7K,7F9<%\9)BE**>0$OT=WZ*\'] 5B@&4T
MN\EDH+P2_"3M\< >QF,#@Q4CHSY/"C#!TR$&"7N0CH@6[B]HU60I: 3_12ER
MV&-R3'RJ?M!LTZ50$9P8U5A5#\PQ0:O*/E=,EP)&=%*4 U@]+J>&4<H8==!(
MX26X(1I#*CUVWR.V4AF#I]<CI0/B.8S3XRR]MIQP76.$$T0".D5Q%G!IO+XA
M$$KA+7>=0_LAKUW;5M^#V3GTO7OLIP&VEK<XN8]\:PE#,L8>*<.5CVXI4BE
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
MNLDVH==+S'B#PIH7C8.[,-?@0;CUP'8+R?:?XF@>)R*54+;(B7@?K70G]"&
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
M4\"&(Y_RM:[0%-Y?5./BQ.U.%5O%8  7QK?4%4I2PP)WNT"!1@)I%YS+)S<
M*O&Y#PU2EY\WRGOEN=#<%U+-CVRT4V[SR]',XN%?,3Z8F*5T&%C^#@/:T@\>
M-6G<1V[_:6S8"\NX7LK0K1TOLR!]M6#Y.,8NXJ*A-V06#0WNC]P"\,PD_HL]
MKE&,L&C(#6E'[YWON@,I8JK*A".<HRFRU=:")#&D'^G*3J[P=9<;DUB0)%H+
MVC+-3J=(TV +0825H!ODDZNE)"M8DHI/>F&3%"A'CN^L'"ZOW$C%(D>LP1/<
MZ#/=&J;1O[8D]9XQ6"3X@4WSA]%P-AP/94F!!#(#CU2YLIR9O)_13>61"@ D
M41 ,5QS<P@^)=P9IH2M/ERT2NHURT62"(#(I2JEGR9QP.$MLZ[-1TSF.:<DZ
M$U.^AB F 3:>.KR64,]/U@<@_[IS(@0_^3]02P,$%     @ IX:O6(@4,,Q/
M,@  B3 # !0   !F<VDM,C R-# S,S%?9&5F+GAM;.U]:7/C.);@]XV8_Z#-
MC=BHB6A7EO.JRNJNG=!!.QDCBVJ)SIJ<+PZ:A"1.4H2*A]/J7[\ 24FDB(L2
M24 V.SJZTS8 O@O N_&/_WA>>[TG$(0N]/]X<_WS+V]ZP+>AX_K+/][<SZ_Z
M\Z&NO^F%D>4[E@=]\,<;'[[YC__W;_^KA_[SC_]]==6[<8'G_-X;0?M*]Q?P
M[[V)M0:_]VZ!#P(K@L'?>U\M+\:_@3>N!X+>$*XW'H@ ^D/ZX=]['W]^]^ZQ
M=W4EL.Y7X#LPN)_I^W574;0)?W_[]L>/'S_[\,GZ 8/OX<\V7(LM.(^L* [W
MJ_WR_$OVGW3Z/SS7__X[_I]'*P0]1"\__/TY=/]X@[^;??;'^Y]AL'S[[I=?
MKM_^U]UX;J_ VKIR?4PW&[S9S<*KD.9=?_[\^6WRU]W0TLCGQ\#;?>/]VQTX
M^Y717YUH/R$_^./;](_YH2YCZ1S0H?M[F& RAK85)1+"A:A''8%_NMH-N\*_
MNKI^=_7^^N?GT'FSXU-"[ !Z8 86/?S_B-'[KRX\\.P^>B"$7HS!29C\%H]Z
M.X1(B!'(R?Q5 !9_O%F$+OK*NP^_O$^_\7\*8Z+M!LERZ&)1?--[>^[W=3\"
M@;L>HE]"SW6L"#@#R\-TG*\ B$(.:*+36X9Z:@7 CU8@<FW+.Q,%XEK-XX-W
M-UBC+X?&PMC@$PE/Z?L./H4"L )^Z#X!'9UY:S"&X0F,.O4+[>(^M,+5C0=_
MG(E@:9EVL9A'T/Z^@IZ#+@[MK]B-MN>A0U^O9KP&5NBB[TT#$*(O)R+"@9PQ
MHV;8YN[2=Q=H6_I1W[9A[$?H]I\B<MDNX(F+T-R:X1T#=('P "L.JAF"#-5P
M!FS@/EF/>%$F-/0)M>^?)R0M,.!SCC"R9EBF 43'8;3%&VN#-QPZ$Q.VX W'
M T]L<LT0WT+H_' ]#WT+'1R6O\3C^F'(O\ %9M:]"Z"_-$&P'H$-#%TN@+3A
M#<A?&"6GJX#\'8VL^UQ;P2"Z0N?_>NSZ -U= 7#<B'>@,2<UQL-''ERDH773
M"U^&QB;Y+8]*A*$U0S.T-FYD><F7>(H]86C-T$R@?V5#/T(_H"66B5J!Q)='
M)]ZTNCD(EGA#(1WG<"T/XS!"FF> 3=Y@G>@1Z)#2$%1P[=KH.$#V-#+Y>8I4
M'4O7+2%(O[:PNOT$;MQE''"O//J$NOD0/X;@KQC12WL2. IIP]O4\^K0]QK6
M^YC?-K%2=1;TQ14:T5F%@"0-;5Q_%8*,-ZTY758(/.KX5O5:(5"K+-&>CBL$
MNO#\AO5=L;W$G-2<[BLLK\3Q#6J9%:EV/*%!C5/L *=.:$G?$X)2;+)"NI\8
M[6O[0/.^M1&(+-<+)U:0JGO5?6VT%>KFFKT"3NPA0_,.1"OH& M$M #8;AX(
M'F.JK-&F3E:1"R>M5;OFOEY;P=98S-SE*KJ"BZLX3&^WW0T]=JU'UW.CK2!S
M3EZP$0VT(DO8DQK;"V5%L^I.X*[0&.P[+514/K@3&X.4K816!;_2:JUJY!5E
M_K3%&N-20=]VP,+UW0B=&4^@I'Y7Y=C)*S>&JQ9&[AK'Z&[B* Y ?PV#R/U7
M<HUISTB7""N? Y57;,_:JBB6)ZS4&)^.S:JJ7.',;PSN&\L-DC0?I.REI.O;
M:)<'P,%[/+N'D;*!_A:O@5,5K?.6;VY7)8'M5#<\V)R5=Y+(*DUI8^A,7KC)
M00S#,&=LS("'-[<)4^BR6Q]41[/V#S7G6ZAX;@C,;"7N5M48J+1(@R>=Y>.\
M,=_R3SGFZ),;@]B(HR1;$]E.6?X5!J,JZ$*K-.BGJFJG"$QMC.(YIU3?1E],
MSOBJ!!=9I T,]G=8<DFEGK8S<!%8KD&?8M4S1V!J@U'NBM"*3&U,8D9N& 7N
M8WR2?+ F-P;Q!**SN.23W=_KB::&=-$3O&XGK]R2S[JB7%5=IC&.S9!U$$38
M=Y.YGBL+&G>%!F%'UWX,LB((K"?>8^LZ33Y-DH,MWW*LZ@B=LFRC=N"5AST&
MF;D3@*14  .60H) RD%XBIUXQOH*15BJWD0-?*KA')>J& I.9T%M!?8.<-+@
M_/<I52F[XAA<CO(Q@6N%E@CL^!%<.>X:I^[CM.OL0WG*[%=Q_>@M&OHV&_.6
MN$#S<.\_=N7 M>56!+H\NP6(DR]=K<'Z$9?E5 *W.+5Y6"W/JP9A,J%YN'P8
M]:N"MIO3JDR"A15[T<E"N9M>A#GS6:,18_1C 6[P'.'CT-E!CA>L7$<6N1&>
ME94#7O>N<.U@C ]F],]L9.,0"9>&%8!]AR#<%[HDT.++(01.+UNOEU^PEZW8
MVRTI'2MRM5@!Q??GH-C[J?"%?Y>#\LFE8P5"?*A&B,-'>W#1.WRV9_E.K_#A
M7OKEWD_XV__>^^G>MV('*UL*D*M<B%:@R<=S:(+7[B6+JX4SHUJM@/RG<Y#/
M?^3_6AL8_KV7?JM BXP2.UIXT"X0P,-:.@S*]T:X._ 75OB8G/IQ>+6TK,U;
MK!V^!5X4[GZ3Z(O)/9+]XF$/*'8)Z^B?>^9[UB/PDL\^9(-)8]_*A=K,UWTQ
M(,[&'4-[D+=^L(,[NRH%]9'T?OX=&_=(0C4O^1JZXU-C8P?9(H!K+BDSLD$F
M!GG:(D#>]&" I.J/-]>_'&#Q()++/]Y$04Q N64&I7*.CT#HX^W0?W9%)(P\
MK5;V$8T*'KN*7*"PBH4S@7.R>'0$YBBS4FB\H0ROE2=EFXG'$":MH0@"-+Z\
M^^62&?-P30"_+M[L3(=S#[]SF9<@2>/?>VG\0U"NH9]<^G>9.4WC76GH0^UL
M*]KU%):P]P;DPUSWZ59R;MW,]8<L/*/[VK,-0IQ=;*61,"J9T2S.I 8V2GT4
M%P2?2GQI=\L,NQY]X&A6X+O^,N3M _+X!](9K IO^)!3;Q9I;.G;=KR.DR":
M@>ST@& 3\S@EO,0#Z0!6C'G5D*'>--+XF3I<>"S+CWKXH#Y72O#2"/]!&N$G
MT"?$<WF,8,UZ^*@^8[CPTQCU41JCROX=M*V]V$G*8(*$LE&:.)'4WD(RBBR+
MM8[U'WZ3P_P*;HC:T%3.#IZOT'D3YK+S&-P^'JH^XX@04S4363R@W;XW, #N
MTA_&09#4/ :6'UIV%J=/?O+2J+WS/W&:D3L!D;$PK6>B6*8W"YV_K8*AO.RT
M3PVJAB5-P4IRU_-Q(H)ZM1^C/$>/0*7J55)O:ST,8^",X@!?+B!PH9/8NQ/P
M(_D+TWTL,%UY)HEC056W%.-?>@F=SL"C^9?*01(:-!9^DN8BV!_:H0G[CI.0
MU/*FEILD"*;YT1@1W'(X":JCJR&KYTF3<L$<!$^N#5*D9\"&RY0QB00S/ L-
M?UEYL6F% #2!^S47BW][1!H$^/>FX_2LWJR%2/RO.&?(#7&4,PX ^F'0G^OS
MGG'3F\ZTN38Q^Z9N3%K(+!#KTUJ _;=CV.?Z[42_T8?]B=GK#X?&_<34)[>]
MJ3'6A[HV;P&+HZ:N!7 _'X,[UOKS5J!B-'?-0WC]RS&$&1'GO9DVU/2O_<%8
M:R7)I-SXM0#G]3&<^N0K$E5CU@Z3!3N_%D!^=PSR=&9,M9GY[6\][9_W^O1.
MPS([&:5"\<48C]K 1*0I; &-]\=HW!K&Z$]]/$Y@U]%Q,;G5D93T^O.Y9K:R
MXVAM8PMP?RCM/0,=#*8VN^N-M*DQUUN!E=11M@#F1Y)@STTL'&W QVDM6P#U
M4^GP_6+,S*N$I&-]HN$K9#C31KK9JA \4L MW7-Y 1BT 2.Q(VT!QO)]9AK#
M_^P94WP%M\%_8IO: HBE.VS8G^IF?YR"V@*(W'ZU>7#?E2ZTB3&Y&AH3<V:,
MQU@U0">6AO2<=G97'0UJ"^B5[L&Y=HO/"FWTMX(N-+Q'[+G39@C=&V-VEZAT
MR8&M(5H8=_H0'X+:9*1-AM]:26&G=KDMH%>Z,X?&W;0_0^!_U7HW^NW]K)7K
MGMK\M@!LZ6:<WP_FZ&K'][KVM:T#O%+SVP+\I1N2HTSW?MJMUT;><96^N 6T
M2C<J%ZUTM3:0(O;1+4!?NF13DZ%-(+DM=0L EZY9@@71)O3TCKL%L$LW;\Z@
M:!/<2EUW"QB4+F:^?=$F8N(]>?-8O2_=WVQSH]7-RV[<6T"C=$^7K8^V-P6Y
MK6\!ZM+UFS-&#N!V=19=G86*=18AL']>PJ>W#G!3WJ!_'%B"?G@8@Z7E:4B3
MB+:4.@HTJC1(T:H)$JA4JK=#WQ04:KX]&E(<T7+M X-BD (AC:#U%#?435$E
MBQ8J4[V9J@1B0KSF;Z8@B'/7X]BS6<GPC FM)\+3A!4*0TL]+FJM.KCQD#;N
M6 ,<=!N/ARSR$H>VGL7.)RP=3NJ!(2\];]^Z9A"'Z!8/PUSWIW"PS?UDH@T]
M\'*N0(*F<L)JLG*FQ9674Y&B<5MRZ=MQ1]10@+&\F<HS40B!1A6D4QAVBTB
M\\D,OQJ[V/.49Y8 ^-235'*B!>,EFH(Q77(/%^-/;9K_C"=J"B"7/<+Y<%2;
M$ L^5U. ON3XI89^6J5]?4_4%+ M1V//CP2U29<J[]L4$!?+7^K]E*W6VR_7
M>:XZSY6:GJL]@\(@RC$'_71@#/KAP?CA@R!<N1N*]PJ-.1JBJ.^J#&@[BIDH
M?:D.ESS@DKQ85-H1:-MRCXX&R*ND2ZLZ"UKT:=VAZQA&%L?3<CRJ[;X9#"F%
M3"#K/BC(?L')-.\T&P^Q>C:99O P'80",UOW% H16QCR=KR&Z-/8=\FA]6%(
MZUY"4:(>@:B>@S#K"C^U@BA?BQ@.MOF_L!N/55E#49WD!$P$7!3R6,EK>T4:
M*Z<9V0DDI_-,W;9DYS%'246H.0:VJ##=^T'N\ZP+AS125H\EALQ#/L#4W2'M
MZ,(YMZ[C)B^>C=TU;NFZ?X4V21_VMT:0_0%CD]V\^RM8H-5(35]0O@ZR5D3K
M#G$1MZ#NVP%.>AR!]/]U/ZG31*J3C9V#2Y(#"LWC3E.75<+0MV+OS #&*G&T
M[RP + T.CP'\>4IS0!!\Y=2\.]>'0=)#*-VH^YU[ 'RP+;802H?0#\>3EU27
MP;5@1E5!)$<A#RD+:<3;6(S )@"VFX^DD ,HY:*SX1=M=#]."OCN-/.+,<+_
M&FG3F3;4B]$423&479;\U+.2#/E]MGR)^<3V,MRYLC-SJ##RHB_"*R@3EQ%G
M)35)1XQ:RO=XIZ(QV)KHLVR'B]!D>9Z6JKPJM5D2I8Q"J3QT5-%'>0:_T&0Y
M[IDJW!#D8YDB*CEJFF:DRJZ<1IFM:+_Y.\M>H<LGV.:AYO6B94R2U(.^RFZ#
M57!1[J0U%@O7!L*L(@Z7U;?^="[1T:@](G<VAP:QZ^%NJ0C!W3_U]2: 3^FC
M3CR."4V7Y7D]G8/B:*D7)>S'$5S#1Q=9H]P6]\=#9;6R/YU39!2H5Y<TKIC
M7OG0@\NM\&E(G2(K:?QT+K%1H7%+7M?[?6%_E;.0,4E6S_O3.<9#AL8S>0WP
M=[G:2;P-^^!6[H;+,\:DAT^7QC,>,C2>?:HU1)%W;Z8NS_L0. B1ON_'EC>S
M(DJ,0F"B+!]V=5]8!7P$ G=R/->LQCYB)0"EUB?<%C^J% ,@CCNQ'>4*/\0\
MV/1)"KBNCX"KXK,F3U7)6<UC%\M+S2*,\N[II#7DOM"-ZY"F#%?#!<UDQ/&#
M'PRT%?*!E.#D.2:I$^1XE=ETYO!$7=]Q76Q1V4=< ^M:3.^[<8,P@8#9>*(X
M2)('ER?GD 5OW2<4D9AS@(3%X5'S>)0L7ZLX/8D0U^Y6)9+47+D!EZ)'@V2Y
M/L4)2@*X=J<F>;_#.(A6W U_-$J6B[+"EB=!7+M'DG*$+@0H6APDK05%A3.T
M#'!+/D-.H62FL1I!]AP)O=R7//)RE&XJ"M2S0@(?PK[O9,"%K-)5QO#V:X29
M9"U1GXZB[*+ANGB@I$)= Y\4S:F8K]S-)@UU?K%\!RV]Y#G-J5-:#W,([8MC
M.X<%O()A#>CCY.<@??[*#;^+)!TR)UW.I2."#75'*<,P$><"<Y(<OX\(U3E\
M4ML#5#>CE+RXFF!FBSXA$_T-3 -W;07;77B3'M1-S%GJA(=?Y1@Z(ML""B-
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
M9 E \MP%;Y2P&$F$A]X9H4+4;_Y&YD)3=>DT["/;3LF#^_NI<MXEBKB::*G
MU3.K_G/O3:L!U6_='[__,ZI$$94==[(]>UC.XQ=J.]BJ449?-XE#^EOU?F7+
MVZFY8L.02M0,L=$!P9H!0(6EO8<E:NER-@4QG471WVN&C<VN)4X+'8W:SQWR
M1835(L;Q(10&"(AD3<V$X#B:CYA/IZC_F[^MTB#.@C7;5,YNWMI/--L%0PIP
MNP0SM&+=91E;;>_<.QFRN'S#Q;CMH:YK6OV5J1%\J?T&J0'Z5+^,0U3:(;F8
M*W.D UE;)9F,=X(8@/5I\*G3\F]P3-73+DGS%4[WM_@Y7]$7Z38QY;).-R]U
M<#N;EC)![ZRQ0=>G#I>]9L*(25\A)C^FX;@C:<;!*6V&(.'*7"B@U9:B]]A[
M<ZLQ]1N92R'>R*-ZI4^8?N%0V[BBB*O658&KF[?_'$3[*D )O9B+.6CAU8ZD
M^@86)%RUKP):W;R]QR!:5XZIW[A<RD';WM%ZY3N]:19$G-EF!;C&./>>@VA?
M!2C!/',Q%RU,-J8&[DNX&WNET(YC[P9>ZTHQB6/OYM)M>](FPC)-PF*=+](G
MG+Z0M<P35XNYVE+0@:QW%F0RWOE@ ";L79:B?-Y>24,Y'/BT(X<#B;>3./R9
MPJ-%;[5[F!IYMU,W ^SN]$TA[)U'M@C%:5PISQE5:\!9!YBR!HSSE-]^>239
MYYLWPVJ 5L/M*50C].YY5*4X&'*9,8IG5%L:B*F,ODZPHL_P,B7[('V;%EF>
M['$J/T5HE'8W S%"/LY&E*+>:6*'3YRE4 U4J:!&![0-NL'Q>D?Q?AYFB'IJ
MGJV1M!(&D]31\4ZX@4 MC%.C!L6K>L0O."[P'6W,*3M?%*SS7TF^J[N)X72T
ME:[;G;H!U>ENTEDH@B'D$+3BUAS71>S#H5H;?:'JC7%LTQ2*E9RLUTD1Y]DC
M7F/RP@[<F@Y9*\0=GZG6@NX=H9;*@B&= :!P0+H21T=YOPL-["9^6$1XL2DO
MP'W$^2X)CZ=EQ%\Q9F$!% L2YQ7G:N'B$I6N%SC.*<L[BR]4@3[+C\I7/(;$
MF#./X[N4TPU1Q-4<0P6NGECTGWLGA :4NI'AC(?+-#G@-'];4J0Y.R!(N7M@
M$(TK&%::3B^"V%>E<S_$K.:=9,.Q]KEWG\3;ZWOR@D.THK\3-HQ.L@SG4&80
M'X/UCL0X?6M72^N;:35<$L\">IMP&G$P1#-C[!.LT2@/"M<Z<"S=8K,A:VQ'
M+86L2U)IX;;I)!4$0R0=.N%V"I>%R)V;@D1AN5U1_W&^/Z3)"X^9H;_\;:GK
MDEN#JM/FFI4B&.X-0=OG8JW K5GSE[8Z''9.BCS9)\\DPGHF2N2<KF*H8':6
M+_I"8-BD0B8L6!SEX%!DA=>[.(F2[9O= *B1=TD9(^PV=93"8"AD0BCL.37R
M$ ?%>QQD>)=$H?50J-5PR2L+Z&UF:<3!<,N,49@2UAI A[5Z&X%? F+7AG;D
MH.>75L/I-J89>F<'4RT.AE]FC,*^9;T-U%&!PZ][ZMKIS55+P*EU$H!UC%'S
M% PW!$B"J6%>-)B&O\4O.$H.+!1H/;X^DNW.,'@9M5Q2Q+(*;=X85,"0R0YG
MGV&-%FHY3:7>.,3+\/J/V^3ENQ"3DG/T#T>JT;_0$7D;1+,X)]++RE()%Q32
M0&-TD3SV3@TU)M&GH5*H%!MS#VT6MV,K3)/TD)3G<W113VR4G$4RL*Y $][
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
MH92&P)NTP*'(>W5M5?*.V:.'W2.07!@2A[0()31B\B@"-);53O<C?L%Q8;!
M*F$?\R0Y8-D<J2L)ACU:>,JY45I*>^<-G<]ANV%+*NF2,1JH;;I(Q,!P18U-
M7(=CLVTVA<9PAJM[%DQHL9E2 A/#N4&YJ%LG60VVZQZ+<F (HP$G7&'9)6E>
M;@'0DGC,]C57JU9?OO^3_^67[GYM/>"^Z:ED4O*WCZZJ@'HCO:\!AFA6,!73
M+\0O+B<QHQP_P-%X1F]P=M;9!AD[EGV+GTVF2R;IU'*IH78,ER@&ADYJ;#8<
M:NUE/C?FZWL '+*=I_F>H-G-S#Q/R8RKS=83LNXY14C3,H59-1ZHL- #,.SI
MCU@8E<!8*UNDPF(VU,%.V+-K=:4!6ZA]+:_[J/(J:#=3NRI@Z&:'4[ET0)JI
MH4 ] #NL[9'?:.94PKZ\+;U!DTN"H946GNZ\&%0?R^P6>/.J#.X46#]*ZT!!
MVIOEP8K810"<9N4)-F/,%;6"VT@K)N#=^"HJ:3!FQ0A1C*5R5/A__^%??OC^
MS_^*2D7OK&K%T/HEB(I^&DFUF-,8"0J0G7@)/1DP;%$ $V;]94BRK Q)]L(D
MO9-C$H8\V$\0+0-"G;-I<"#4+*HV#5723C=B]9 [V[!R43#$T>,3XW#PI]07
M1OAUC;.,K1L=@A0*E=;K8E]$+,(9#T?, LZF>(?CC+S@TNV_3S+F["\VU/]7
M[TL/*\7Q&8!3JM@[&3"D"#A4/0FW/$[UNJV+HN3"N3I.(>\CS@,2XW 6I#$+
M3=JJ+IV#DC51N6 VBBXI:E^1-BO-6F"(: U5<H*E%D2X4O;..]'1M/9(?;OX
M=JX]K%FA$I]\<IA)O'K,U1#_Z_?_2FU9G--W1RR&,6$9RG#F_VCF1Q(G:9UF
MC0)2? U1S"6C5"#;?.K+@+%""F!]&CTD\;6,(?4]L^\!1"X2^P0=SLN[O,MR
M?W*2YREY+G)V'F>5L&6V8Y4,%+M4X7Y-W3D?1&\>3RD9NDD]HTYR,PQX<:5]
M"20.K4=SLYJORSBZ2JANYLAT8)'4$JUQB9C':P%,1R%>_J3(=W2@^CONYP&S
MTO"T JB"KE@,[(N#<1+,&/5+A%F9M2!HM"#Q:QFDBY2'$ _YHN<2I[R2YF^A
MUO3$-U-5%+Q3J4'DGP&KGH=PUAB7:74@8(B),RDYCK9H48%>V$6-!ABN6<&4
M!&*LSG> M7C=>@TT>K;*_A@XQ/39:0)EY$ #*# 3C@T4O(IYEA7V_ETM[=6W
MZT+6^G6E*!A6Z?%9^7.$:\#CD3KKF9V*5T8I,I[9R,/EECG;F91@R4AISDX+
M[LBV!IM40X8#34IIMR$<M9"[41NEHF 8I<>GN']YS L%* -4==/XCK;4E"T?
M4E"_DGPW+2CU]SAMPD^R4#STGU!]PN"DDMQNX9Y<U>Z>[N!BP/#V=.S"P;P@
M G"R<YID^6+#(L[Q]4><OI USIZ22.VVJ17<CK,FX-U15B4-AEE&B.((F_'(
MR1D((GU(DRQ;ILE&>2"E(^$T-J0(K1,>\O@8UMZ "$R(%,DDT(&+>&= <V^K
M2G5A"O6FD?=RFTX%6WJ+KB\,QHR8$ H'WVIY5"MX)Q(=&8.TW!#[-=@J;YZ(
M8D[WXA4@.[OJ/1DP)%$ ZW.#/_-.A\5F0T?"-&,'.RE! [9SKR*_5-2I-=&
M[1@2B1P8>FC "6<7PSV)";,P.3LRFU7$XMO1SSC&&PB)BSY0(&D0S>.L2 /:
MA)6E4PV[*FFG/HL><L=_D8N"89,>GSC5K\2\LZ8^ :1GBR#E.*>'#&(O?4=;
M! PKY+@D23FX5)T1S3LI^#V!BM%Z8D@EG0Y%:JB=D4@4 T,2-3;!C>5#%A]V
M]B1;XX@^Q4GA?^QYQ!FF7V]'7:U;_(*CA*?7TE/'H.-VR<\"?G=Q3Z, AE@V
M*(54597.N93:9(33Y$\__O@]I\K=T_SW:4+'O2@7=[CZ#UTTOAP0:^7N$^_-
M*84CKI/5 MZ-P:>\.J[9GZ4K:*J1=VD$C+#;!D I[)TMM@C[!&KDO?/G"?.S
MZ=1J?0S2S]A,()V"T]42(_#.NHE2&@R'C!#%B?(+3G.2L94VYJ4<Z/=)V,3:
M.ZE6:4!'0)8IE#G;[ ZCV4,QZ#@-1&P#OQ.26*< AF V*(5; 5S'.Z'8E@7.
M,AX^X XKUV]%,<>Y?Z4@>_E^.S)@R*$ )LGKVXBA#3Y_ ).ZKF62NB1]Q!%?
M*62KRI2)<;;!Z61+24L12OPV.S57[NZ02M2.L(V.=\H,!"K/0)BD**UU^>B5
M5]HH8.J,6]ZM3C=LI&%M1B[K+XBG;GU&)NB=5C;HY $ZH:SDL0.*14S638^8
MQYLDW?._KO!Z%R=1LE5=D[15=GWRU+Y"_3.H9DTPG!L$5_"1<(37G0)&&12?
M=N1PH-V"'=*16.3N8U>#G Q4/9BUGWEO:04@,<E"*>+=EMPE*2;;N(R+O7[C
M8VNP9NSZ0!UW%G[H!E.*8O79ST$EN+0J)U2M;5H&J+MAW5]*UL5XRV[<Z(Y?
M#8<NCZ:_?F-1T7;TP=F#GF+I>+\GW,OOS[2$I^X6CP5(Q]7CYA$(,R/BD=UD
MJ"2\&QKA=)?)+3O*>3U3IW5L:R%8IR]5\.2A&)+F&!V&<HRNJ< Q")ZIJFU)
M+WP1H4H9<Q0#RAD!H/K891E ?I21@4^X6!!R$G-75[X0(Y5R-5)H(-8CAD0$
MBJN@AR=&>6>14>,J*U-^5/%N*FJ'9A&7ZSULJ5EE+!2R3@_'Z>!VCL;)!+V[
M'3;HA)/^5)9QAS22WDE3G\TJ;1T_JJ.HJ%32QSDY"5396;F6&!BRJ+$IS\Q=
M9F2YT$5;1O3ZUAR)"SKR54,@=:O+>523@ 5GL]<\#9(TI/8Q?9OG>)\-BNTW
MZAO=7_@=]=.)EX9'>1TL/VW\BBIN,#_S8EM)@[SW3B']$;\50O];9CDU7>*R
M5_>:KLI0*6W>*H4NF)%A(&!=;F/O;&SJ4$VZ;\HK)-IN+)%V;Z.5D$7[*HA"
MF<W8P53S!\S67GEG5K/@T19P?>BD"ZQ_W*1\"FNT%' )P:1Q[6PB.KPAZILB
M.I"2A&?'*^,AH%@5<-H[6RCZHS]P1D3I$\IQR;V3J]FFZ.!"H-FV4RL@GF7(
MLI]0B_A!JRR4)^^%[S:?R2-/C1R$92EET#3&LL\9D"D;ZG0F=5S"FR C:T7]
M%;(NZ:.%VZ:15!",4Z]#I_# Z)!;QEE#WSXS:?\)'/J5N"51D2L#0BJE?=*G
M!UE'H$H4+(6Z^,PD"DMY_S3Z%9/MCB*9O. TV.*'8O^,T\5&B$2HLTP#RW!)
MN9.JUR;BH + T/,4U$* DJH,%)2%H)B7PJ)BK:OXDV7@22@645'IJFO:1CL=
M7 H .INJ:$%H51'0*6W ?3JIP5AHF\2+2[XB0']/V?;W+2[_:XH1=H&"G<=<
MN,B'$$(TG%4JF"YRL:K8)/"LIEG?LD2>?_A)UTL@K/G] *:1)*#4LUC0QD=]
MAK>^ E7>:IJ$_U64QRH,68#'>AD4(W7^![,U7*>_"4P_&;5Z0A2"F)K!B*4>
MZ=HU=BIH4[X,K>L#Y_GQ!?X7'"5?J*[K!1,Z7OPMCN]NC?&)>I>\+OD*6 NO
MXU1.?M1;YF- [F/C]*EWU8=&Z#-P^HC]YM=EJB.Y'R/ZW'46:M4V&.0.,_SK
M@2'Z0!*_&R,^A'K]7;6["+\2]N>G)"K*$ :<T>79>VK0Z:O^Z)V/36Z3Q68:
M9+N[*/EB.GNG5W&;F-H,OIMN6BT/QKNW "E<2&X2U"0;Q)00UX*4KH;V* :,
M3O%?2(C#F[=/&3LZV-Q'FM YRDN9CUC/OE,*<GR.X,2*]@X;#"P%#']/AJZ^
MJQ8T*M 7TWYTV@PO.'U.,FQYB.['K_(8W7$A(ULECY@U)HEPYT3,*KF,Z1GG
M52Z-TY@?J]TCQG@/& ,W8N7$Z(W-JYA+F=8O0_&QS[)#?_1O:_I"[5Z#&W>R
M.C2$PZDY;89*V*D+J07<<1ZEDF!8J84G.HS)^C-Z9M)\7:D6]\Z?6TPG5FL2
M5 O6DSU;//N[CD1:#;>7?XS0N_=]E.)@.&7&V"=66X-'[ M:.M[9=4=BEN*#
M7YU_9*<=%AMJF5G.Q-R":=;:3N,D#:M2)T:2G2H8-@[#*X\"F#(]-DLNZ%\N
MR4UU((PCU+("\EC[:E&G(3$T8#MQ,21RWGEB <Z"%)M:Q;NU.L9I:(7Y6&PX
M9D47T:OXB96A!B\/F2'*0]O/L,"JBL'21%^A<V@>C\73@L:9H4P<G1DZI4ED
M,-]%5)/NL;/6;'$:'$@>1.9,\=8%.+ZG/+!BO:O+EMK>AY^3(0N[2SQF8T;9
M62Z[L?7\+TGZF=F,=5D"(BP2A/_IOEC7R7J=%+3O/>(U)B]L+\SZ,\E4_3)5
M71D]1T4]:/9R .8^/;^M=?^ PDJ;436H]-DB554 0'JRT2&F+R+*$)8&';^$
ME,#7,[&E )^"(EAQ>>%(.%))OP&DV3+%AX"$IA2>)C6_9)-70L^WK@Y\RDGQ
M*EGW+6E,'R7@H=2%$WE5;=27P1LSR&P-;[U."_J52/!<91<;/$+H"X,Q8MM4
MV&X,UY4$V.<< %\8X.M2&,LE _RA++)<WBT+1=&Q5)C=@*%L1:JJ/LN0SZDJ
MP3OA]54SLERN#IO:6LR2*^8MI^$8=:PF,D#"LM" ;(;X*\EWTR++*>:T[KBJ
MW#"#2_%+7*LJZLFK+0(P@6UPZSS?L(J\1Z=:U 4N_!/8_LC7V6?&H![F.^\0
M'ZP#T8-Q"RM8;,FJR/B5L5:* KMC?#X96RX>7^ XJK8@  RVJ*@%DS6E@#&_
M)T.7IR2\+(^EN\;4FZD.ETW6?RM(BN^3>,MVFF[Q(<F($"'?4L?5/K(U_'I#
MV:@ 91EA"%AQ Y 2A^W^T=&[%/1N X6JT#Y";77^MJ3(<Y8"F/YZ8"**KC6D
M *?A3@=7K'.:VUH;"B]/1BX["7Z@P';,T4PV+%DXU[]"N-;DLWZ^<[U+HA
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
M.NJ0$L!0]R388DQ57@AJY=<9966KE8IK'L]>USMVS8!VEBK)C\5JU^ 27*V
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
M'E94.-LED7[+R$[-59<?4HG: -CH@# ' X#V65.'_D1I$_OS"@4;:BE04,<
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
MTN /K50GBIZE+A@#/Q!PGY /.$<9T_).Q7I,.H)O54U1>8..2])9P6\S3:L
MAEXV* 5G@<6*1H<TV9"SMY&DDR0M*#&TG9V*J\F1+?C:93')0_)5++'*C!")
MU\G>?P"J^CY+/9,3AG9=^"E;99=V:5B%V@;*3A.,I1H$5]@:*.<UI0XZ*H$)
M,V6LW;TAR-20 D#Q4ZC8((XVVN^'IWW(RBMW;'%8P=L,5F0I>4T77V*<9CMR
M6&+Z?>,\V*H,ZP!]_RM+FFJ99[D293#,'8I82"):2Z)#(SJ*?S@)0[Y]0N<^
M)Q+OY%)<>9%G5+%V+$\HPCL5S\,M7"QO2E(N;*)D(&E'-#<?29RD%.4\SC']
MH+**WKRQ>\%)G-,R:0G;4D1F?DXN#,[JZ.6J(DQ(DOBZ)<T"Y_*2+VBX+I(?
MK[>(VOLN'0G76>\TZ[OMA5+?!D6-20SX;[/9<?*8Q0[FSN,L3POVBH]!7C!*
M\YAQDL":5AJNQB)+Z$UT#+VX=TK88Q2O)3SG++4A%_9N('B$6=GQ3)F TRF?
M *PSI6N>>F>"$I(P)>/!? ],PGNS/^(7'!>:)?/ZL=O5\2ZH[D)X^0R:6]'#
M);0YB%V3.E7TD.S= +)V6V?K]I>E6V<0=.@D>?_Z*;GI'\L\@(<@S0UY;]TD
M9 W>RB72I#IH;78N]2I.D[%:@.]D,M3(@V&8!4@AC$ZE@O($54KM%4'O)+LG
M,5YLIBFFD^Z[8,VO;.IV4S3R+NEEA-WFEE(8#+%,"(43[6P9.=F@4@/5*F V
M1F3UN3?LA1AT?+-+@&]BV#VX30X;E-9,NP>TDR&KV+2,PW>3I&GRA<3;:7"@
M3X1SVJ<5X9N,ILJ9N*G2!TU5 VA+YEZAJAS4%(3JDD 2^6/P2O;%_APBJXOP
M3613Y4Q$5NF#)K(!M#!7V6Y3'O\#!7LV:6&D3O%+$KTP[D85S=?\%:.L@AY7
M[!>;NR3%9!N+<ZWR@&-,2Y1=A1E>A*MUTE,K5R^<#M7WSLPS0 N3FZ88QL!-
M61 *)'-K^IC4A7FWLMUU9-HK\81W+$475HN[3>"N!]T-GRR7]<X]2X#2)?P-
ME:HLX"A6[CX)X@]%D 9QCG'X*)ZO5PFYLE1J@+4M$B6\M[@6EACL)HC1MI%$
M*17UM*W/QNVL'KBGZDCE,CEXF_%:E"K'^3(>Q05VS)(T9U&2&G])>9I2)NEV
M#TT)M;N9)HAY[Z=F;.+V&I4L0U,]-[+C7+^."$]3T?9:;I,]SG*R%MT6B0$:
M6H"S*]DG5:RYG#U(VSO#3H8L' NO"FF=^V'F*JS*D?F?WHV8)LB@7,3IQ%P1
MU$_V'&+4"(LP>LT5S^?ZQBVC3%F^=W(LTV1-W9WLCK;*31!_UI!$+NIT8T\#
MMK.A)Y'S;H,LP ESW*C(?D*U F(? T743_6_=5=O+=()?+L^54::1<R\:<-&
MIE[5QWZQ365D^\8Z/1^A>G7V:@!F62@KRL9Z4SF).1=]S9&&C!L^X@T9X@1(
M\2E'#AR'@,:,XX6E6[RA$[;P!L?T#_F2HLV.J<,L;T9:E>'G MJ ZLGOH%D4
M &9<.@6U) PWTT25*F*Z8 X&B-5JI;DS'!"PU'6[*#N@.MT56@M%,+0<@M:*
MCD=UZX,$4,8QM_%NM%N+,EBR^.'75O'#'7U@W5JJ*.;*;;!WWG0@Y=Y:E1$2
M'5C"5.?)4F6X]<DWY9( %[7U./4] <4L\&NIXGU4/ [[S?(KJY2=[R93\>.J
MJ<'+/3-1'HQMM0 I70^_KC+M/@,*4M&N@,G'4@E[V461 I9NI'0DX9!(!\](
M'_]^T46.'( ;-HQ(I:</2*-QR8,(%S[*PMAC5>M2T-_QE390-8N8%)C.K(1F
MH@MS.4!TX/HF/CN \917^<0TL5#LM:%W<BOLIG9LP@VP4RF(AV\,884>*/'-
M7@\XSK!F$TDJZ384@1)J-R2!( ;&'*BQB2$**M[@4A1&(B\&^!9O@B+*V<0H
MK[P4XT%(C8[KX<0(OV_,E I@6&6#4FJGNFGBH'@G;",K6P9ONON$'1&WIQY$
M<-UED.-S, 21@.KSX8ZDU-CLZ6QB"V%8:L^D@Q3?!!D.I\F>F4(>)'V2IA0]
MYON9-V]'F6J/<_(E2$/;A9 SR_>U:G*1SZ):8CFK<#"\OW2-=.$;N?8U5T?M
M=Z#V2]#S6T>P>A'B;P*T]F/X6*IO95XG.K]@Y]%M+O(AA*@X9Y4*IX-=JBK2
M*#R&WF3H3)8K8;![U.+ !+-%D=.I(\\S\5#LGW$_AMB([WD7_<WTF2[2_50O
M@7BX=:Q*"M$5^4,V_F6LN*R5G 959Z!&.=S/P3_WZ\=_S29%ODM2%KO^4QSB
M]"E/UI_+:O$#,;-7G*Y)E5[TD7V/5F6KZG=D>I_8_>M=72SP\5'K:PDNWPVI
MPWJJNYA/MY0I ]^Q!<JR0X_0GR$-IK]BLMWE.)R\X)1.>W7=WOG;W^G :_-)
M1QJ.=:^&U.?]5+W?Y6L5%)0Z"'=LP-?8\^^2=(-)SL["3N)P]GH@98;P;!XO
M>9.-U% 6[WU/O=WZ,UZRGQM?"NW(GZL*FUWR*>N\442[>I*R_222XK.O(HSO
ME3>H%^FLQ.S#.;=%\2Y]]&&?>!17W0Z"]P4OO_6V]]:;8K_^L=J#[WXFIJ]J
MC'?MYY\%R+O]@/05!D\$QO ?SK<OS,3.LZS X6V1TEE*6?_2'+?L;V-0E<[]
M"04Y[<DG5[33_0:7 LZ?/K4&9@>YT8#O%<]>UQ56']ZPZ>WOT@NV^Z2C>+_Z
M5WL?M?S4U][;O5B_'=_;59XOZ7V(4=W;"X, Y<^.\H$'.; 71>"][WNM]F 7
M]1U9 L/G^L#"6#;?ZD.:9!<_3:5[$Z@^??JGNN3,4_*:]],[3ZZ;V6OFNN_!
M9ZZ ^G"8M:]^E]ZRQ<<<Q576O-=[;_1067LG^4+=U+^+W+55/OSC(0A #:27
M_[07]8SM7^^]J_NK\V"?V*+C W;N/)WE!1AP<+Q*6JR,<C6; T#OP7>!?"85
M$/&\U7W RI]/7OX?=&H2$"M]57WX6I0U-V'XW7;K=SPS\IAWCR3O >5#G_J9
M+MEMA9=\?=U35463KX):BI?N@TZO(+7JX?DVDA')NUS &OZIQ_8'#3#@]''_
M'\'60QS3&D :D3T<@K1^^SL=O5V[XI:OAF,%_%3\U"UAN!9 ,*+BIWON?[J[
M@*2_!%&!)UE6[.OO>,!K^B58=,'O=6TUT@N=]_-1/YS0M4=Y&ZQU[#&K*([8
MI0R*R :C:_2&@]1_5J23;9GL,SR2[/-=BG$[@.2E;:C]>]_%,#ST,UYD +9]
M*;0PI:XJK(Q):<JP^_ZZ;&V5?DDB6DQ$\C=7G5;UYG?;;?6?<K2.*W\MK''6
M25W[O?8H]'Z[K,V>.7]X2[]#\\6<G)FS0/$NNO)YGWB\\Y9&".^_BY]5;^.\
M>$,5T O38(OE2?DNM(5T*NR4^0?_UR\L=W.\?615SL2X])>:Z^C?]2[FOS:?
MZR)37]V+8'75D6K7[Y"+;H^#%/S_Y,]0U8E]"&JA^$7D<N*?L)_4.^R/>!\0
M%E)HFL1Y&JSS(HA&6;8: >"[Z.:C-<Q%;,/%T;U_@S+6)Q%F ?P%QK0RL,W.
M,=Z!.5S79<I_%YU>]5DNTF?[A;__+J>HD6K<W@>O9%_LF_'[?7<AXR$XE6'Y
M823+=Q*2=]$MS__4EQQT3X#Q_KOZV757S:ZOZ]EU6A> UL<2^-[6.SV4[/%2
M+;A\<&-64LAXP Y+P5N>Z1[AJO*6J3Z70MAYM"0E8"$BDB )Q^;IX.G(4V>,
M&^70ZR0,"7M)$%6 LML"KY(VWX5 6P/T7!TH'52-^OBGE9)W_@Q%VJ?24;<F
M4H;" J,\&6*<QN[A/N*A ?*'3@>O'W;J,W3^!Y[9_A E;Q@_X?2%K+%\)'Y(
MXI=RX80-NMDJR8.H_7R:9/E#DO\5YX]XG6QC=C)9\4E'?)_+X6_TS];N0Z.]
M#$Q'&[N&\MY8ED8G%,<R4$S_7_[^]7;-THK=)6GU$Y-3[0RX!O%5=&+M!W;2
MLZ4(OO[NKJNV<0._/(S/O3%^<)9Z8L]LX:$NW+M!.'>:K-C\:!W@GVRW*8\0
M.X]SZN]D9#WF 9\S\+RGHSYG?_9+K@>=# :,\?#]!82)7"V-2"U^/ 94N1B5
MWP_#@IRTE_.W@N1O\SC+TX+]F"WR'4Y7NR"NOJKBFY4?^^([2V>B>1?;&I?Y
MY)?9FSP+"BS+X:W^9]@-0.L%VB61\G?J?E6.G3*BZL!"P*0!4%;0>LE+* %.
M[S@%=I_44\K6(LJ#.$>;)$59)7U5!8^ 2E_>6\]DKZH, .355\^"N_("H%-7
MB]J:N=PF>R?N+7DA(8[#C(Y+W$?=)T6<TWKR_JGX+B8EE]2TJT";BWH-,.2S
M@MEG6Z-T#*7AG6*L!R01";E7=(^SC#DXO^Z2*'I;?(EQ^%0\9R0D0?JVI'#C
MG/V89CMRJ.\KSC8;.J'*%IOICGE4V0/.5^R+*#[<B.]S2>S1/UN[3XSV,C#=
M:>P:RNQ^\[XKQ-YXG5/-Z_*=U_REZ/C6*U2^%S4O1O6;KU#Y;N; ER]'O_%7
M_^^OLF_?DQC/<[Q7^4DCO_.]]W'A\XW=SYL7?M5]O5]+B_Z.6']'Y7O1"?T]
M.W9XZB]2#.@WA@)Q&-J^/R)E/Y(X2?FJ10E6QK*^C)<PI,;T[4J4HE.5Y2EY
M+OA&;IZPO5Q^6)2V*SLX2BK]K)UR_1E(I*)^)6_Q.L5!AN]HH[;KE:V2ATZU
M:H6?DRBD_+3\AJ<7[]+L7OJCZ+A_:MG0TC=>N%ZZ/N;)LE$#.Z? ]_@^R;))
M7L)A;I:J1K+F'UP(H&-IIV,7@KLF\;7,1%;!'>FP1OB+WM,8]B.\"'Y*C*>/
M8%6@/2C#5[5;0HW*9/VW@J3XILBH"Y1E/']R7>]Y/-EL2$2H#5,-5*<4Y')(
M.KVB;=(.+P6,\3D9^NE<YR_*B&G(<4)TN8'M#+)XW9YBJ&SX\')<TOSD:G;&
MV*&%0/.E3JW Z50W#\@1'?.]]X+^@-;,C8]1.FZJ.;OED*@MP>><PZ)J.G=$
MHP[&I _'W"?X(XX"'G.%3N7?4,+T$5\J 12$Y3APU?7E&S0[[;S9I.3']=!5
M0.YFR#3 \,\*9I]RE(]YO2 7BO95:D4]36,FZS7;$LP>\1J3%YYQ ^?3(E79
M$)T\O,N[5FB%PT^5$CM>76EY-Q!/ZQT.BP@O-K,XIR3\E81X'F^2=,_']D?\
M@N."C_JS5\JG.(BF19;3V7&:4?.8)F&QSID/7!\TT.U]CO0NIV=-QOQ<G3,I
M8[P(C/$;LW;"M2>\9886/>)#DK+0:E>H*A^QMD7U&U#]BBM4O0$%<8BJ5X#9
MU!SZP>X-&Y9GE.?TVM*YU>[<0#JU,# =Z-P:B+ZLKD=8;^VY.16&#W0 )?5]
MJ4/96=6K#AIYIV?!3+ [Q\!4PM <(1-0856@)>_),RVW$5;!:Q6_X ;'>$.D
M3JE"%-"VB FA&&:?R:,\>+4)Y>%J0\NX607HB\MQJ;P.VB%H<XR3([!\Q23+
M<-X?W27/G>73D\%JLMRU'WIO4A4B56,&7,A3AQ'V(*B7>L!I_L8B^.3L:A_]
M];!73*_MM5UUM>Z*](JZ]MJ!YH0*R+(#Q2')"Y;1LSSO;MNNCN?BE3N626=
MM*[W2;R])R\X+&EK-^D^K5 _L^MS/H!\&GU*B=X-U$6K(5BUJE"VP5(7JY@
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
M9*&W4!_H@!:BJM!:B(V%]FUTE ;?2@+4(>W$/018+75'OYIU0QV%H;>3@'1
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
MZ[2_5C5V9I5K-*B"@VH\Z#USF_I1&TQREG61;=*^'DAUKV4>E^>_QV"U\:6
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
M&BA$^RAR0[S)WZ!@ 'O24A+?#Z#X5M!V9ICWNC-!2WJL3^$Y7+'AKPN,+I+
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
M<],_7"9OA0$1<K]=!L_OY@AGV)-_'"$G/_P^1$O'L_R8EH=\P558DU:E1I<
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
M*B@Z@T(]<.*%!)K%1M!>/Y55LY(^/;XBP6VRW8'&#J<H?,8NZY1&FE:W-.0
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
M9QU P87AX,,[?;*^S.A20VCE:YN+#"3 .=1'!%D7I^2- G^3[:/<K'U.%^A
M4MM<$Z)ST>&&K.8262]V0GF+?+3 '(<JLP-TY*E];>4B ZZU)P6SV/PJ-(,.
M!;7-I4H4M)BWNZ,6W6+C*KR/I[%]$[!<J[:Q+I-FB Z4KM 1&W"#PGA+GVZ+
MZ</AY+>;-3=TJC*&)$=_-)ZC-6BON]F=7B>;$5/=R+AIBN$]6>-#.LV!_^C3
M9+'4D*4>A9[C.W.'&TS]D1],_62-'JW.O36R)FE%ML&H\S@:T']-9^07TTYW
MU._TNJ-NOWL-L[879MTGAU0ZC0ACAX&_'.)G-,^6-NEX:KUQ#7'/U V<UB,:
M/D*J.._2LLG.N%(?T1 1:$5!&(E8ZJ# Q$$/;LI[%"Q#9[/"KN.Q@Z&<YJ^1
MJ7R*0>*?NX4K/QM>_)/3'#[^*12^/!_8A+3Y<'2$W&^7P?.[-',NW&:<V/UP
M9,3N%[_WNA6H[_Y(_P89'A4*RA[<W'PUVH[YPZ3CS[M/8>#,>6$(;@<P3XL*
ML"(B#+$@WWRHHNG12$ND0LV/&IMI4U+D;KPC=-T0#:D,4^LR,R<)O#D=X1J7
M?^,9ET-[='\S''PBMF1W.K5FQ):<6.2WO;VAN3,KJ869MSFO=N;5SKS:F5<[
M\V),DJN=^0J9>K4SKW;FU<X\(Z"/4S:@]&\785_FYFN(*4E+<&7W"YDQXGW0
MNM3R=1F!+"0J6 1GIV6"1FPOO/3Q@@B:'^])S@57:0S4#?Q@C=T^VM O^>Y6
MKM#@WTLF6W:+TNK_M3,=W(\&=P-BE\TZO<?IS'ZP)L10N[,G#]WT@29JJED]
M>V0_#'J=OC6V1GUKU/O-G)*$K\EV.X;5=XIPNWUP_CL(<\GEAUGO,YEK7+Q4
M'MR0TU[S:Y;*E,.;<J7)GTQ=PG*3'L 0+K>G#<SKD0(@-!EG"DSOD8T+4:]E
MFE>#HR^WVUNRX*_63OB%?[U&W/.ULUF,@!Y3KA%[]Q,4W;(1]S2#O;("+.1=
MD;PVS;]VRJ((7X=A]H#.4)<50V%%DW/$T@2>DM,E@^W3JFIGALIH6!$9].JY
M4BA@T,A9$]).IL-S97&:P[NRV,*60YY#@8X[A3/R-W28$R^F7]T2\B:T4#9R
MP7P>G?"NEX1.QU[8&YJ^FU-/C@^&W<68RX-2ED?1]R*" IQ9E96Y5/;QM+DY
MEP/K<(F+ >2%LNJK+W'@?K$W%%KK!84NCM"N0F;U2L=K#WWXJLDW 54&^C>3
MIPC]D9!QK6?DRSZ.\E/)9_EX.[5^?;1&LPZ]P6#2HRA%"B4\D,P><%6E<_,1
MN10K6QMRB!;PHJ)><YD4>*=?85X27CYV#R,9PRV(PB0%WC%7)(-\2E#NAM7A
MTMERI 3<G58Q,V&U&G87,QE3$#0Q;TQQF!6F)O*6,9I#G[*%(L9GB&%F:A\_
MDW.G/X_&SI9J?'=-C0!RB$S+CK.9(^H';+"*=LUB00TI%)3.TKN_T/]Z<B)$
M?O/_ 5!+ 0(4 Q0    ( *>&KUBOR)2(4P<  !@L   *              "
M 0    !E>#,Q+3$N:'1M4$L! A0#%     @ IX:O6#=J#A!.!P  &"P   H
M             ( !>P<  &5X,S$M,BYH=&U02P$"% ,4    " "GAJ]8+><]
M(!$$   P%   "@              @ 'Q#@  97@S,BTQ+FAT;5!+ 0(4 Q0
M   ( *>&KUA9!O_B03T! /C<#0 ,              "  2H3  !F;W)M,3 M
M<2YH=&U02P$"% ,4    " "GAJ]83&S<V7D3  #_UP  $
M@ &54 $ 9G-I+3(P,C0P,S,Q+GAS9%!+ 0(4 Q0    ( *>&KUC4@DP4+Q<
M  $7 0 4              "  3QD 0!F<VDM,C R-# S,S%?8V%L+GAM;%!+
M 0(4 Q0    ( *>&KUB(%##,3S(  (DP P 4              "  9U[ 0!F
M<VDM,C R-# S,S%?9&5F+GAM;%!+ 0(4 Q0    ( *>&KU@JVAWQTFX  #='
M!@ 4              "  1ZN 0!F<VDM,C R-# S,S%?;&%B+GAM;%!+ 0(4
M Q0    ( *>&KU@<C+JU7T\  (<F!0 4              "  2(= @!F<VDM
F,C R-# S,S%?<')E+GAM;%!+!08     "0 ) "@"  "S; (    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<FILENAME>form10-q_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:FSI="http://flexiblesolutions.com/20240331"
  xmlns:country="http://xbrl.sec.gov/country/2024"
  xmlns:dei="http://xbrl.sec.gov/dei/2024"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2024"
  xmlns:us-gaap="http://fasb.org/us-gaap/2024"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="fsi-20240331.xsd" xlink:type="simple"/>
    <context id="From2024-01-01to2024-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-05-15">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2024-05-15</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2022-12-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="From2023-01-012023-03-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="From2023-01-012023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2023-03-31_custom_CapitalInExcessOfParValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">FSI:CapitalInExcessOfParValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</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="AsOf2023-03-31_us-gaap_ParentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_MendotaLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_ENPInvestmentsLLCAndENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCAndENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ENPPeruMember_custom_UnrelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:UnrelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-012022-12-31_custom_ENPPeruMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ENPPeruMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_MendotaLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_MendotaLLCMember_custom_UnrelatedPartyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:UnrelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_FirstTermMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:FirstTermMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_SecondTermMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:SecondTermMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_ThirdTermMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:ThirdTermMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_FourthTermMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:FourthTermMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_FifthTermMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">FSI:FifthTermMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_ShippingAndHandlingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_us-gaap_ShippingAndHandlingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">FSI:ThreePrimaryCustomersMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_InvestmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:InvestmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_OfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_AutomobilesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_TechnologyEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:TechnologyEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_CustomerRelationshipsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_AutomobilesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_OfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_LandMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_DevelopedTechnologyRightsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_AutomobilesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AutomobilesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_OfficeEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_LandMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_EnPInvestmentsCorporationLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_EnPInvestmentsCorporationLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_EnPInvestmentsCorporationLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_EnPInvestmentsCorporationLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_EnPInvestmentsCorporationLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnPInvestmentsCorporationLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_FiniteLivedIntangibleAssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:FiniteLivedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2016-12-31_custom_EnpPeruInvestmentsLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="AsOf2016-12-31_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="AsOf2016-12-31_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="From2022-06-012022-06-30_custom_ENPPeruMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_ENPPeruMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPPeruMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_EnpnvestmentsLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:EnpnvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="AsOf2018-12-31_custom_AppliedHoldingCorpMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:AppliedHoldingCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="From2021-01-012021-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-10-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="AsOf2018-12-31_custom_TrioOpportunityCorpMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-04-30_custom_TrioOpportunityCorpMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="From2018-12-012018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:TrioOpportunityCorpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="AsOf2019-01-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2020-12-012020-12-31_custom_LygosIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="From2021-01-012021-12-31_custom_LygosIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_custom_LygosIncMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:LygosIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_EnpPeruInvestmentsLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_EnpPeruInvestmentsLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_EnpPeruInvestmentsLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_EnpPeruInvestmentsLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpPeruInvestmentsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_FloridaBasedLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:FloridaBasedLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="From2023-06-012023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_NoncontrollingInterestMember_custom_StockYardAndBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockYardAndBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="From2023-06-012023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandStatesBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">FSI:StockBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:NewAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemSolutionIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-31</instant>
        </period>
    </context>
    <context id="From2020-01-012020-01-31_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpRealtyLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-01-31</endDate>
        </period>
    </context>
    <context id="AsOf2020-01-31_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpRealtyLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-31</instant>
        </period>
    </context>
    <context id="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-01-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPMendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="From2022-06-012022-06-30_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:EnpRealtyLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-31</instant>
        </period>
    </context>
    <context id="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-01-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2022-06-012022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_ENPPeruInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:MidlandBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:ENPPeruInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_TermLoanMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_TermLoanMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_custom_TermLoanMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_TermLoanMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TermLoanMember_custom_NanoChemMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:NanoChemMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-06-30_custom_TermLoanMember_custom_MendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_MendotaMember_custom_TermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_custom_MendotaMember_custom_TermLoanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_TermLoanMember_custom_MendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_TermLoanMember_custom_MendotaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">FSI:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">FSI:MendotaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_StockYardsBankTrustMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardsBankTrustMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_StockYardsBankTrustOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardsBankTrustOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_StockYardsBankTrustTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardsBankTrustTwoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_StockYardsBankTrustThreeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardsBankTrustThreeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_StockYardsBankTrustFourMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardsBankTrustFourMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFourMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_StockYardsBankTrustFiveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_StockYardsBankTrustFiveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">FSI:StockYardsBankTrustFiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_ConsultantsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:ConsultantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_custom_ConsultantsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:ConsultantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_EmployeesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_custom_EmployeesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">FSI:EmployeesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_CanadaRevenueAgencyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-03-31_us-gaap_CanadaRevenueAgencyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_CanadaRevenueAgencyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_us-gaap_CanadaRevenueAgencyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-31_srt_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_srt_MaximumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_us-gaap_EmployeeStockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_custom_ENPInvestmentsLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ENPInvestmentsLLCMember65959328">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_MendotaLLCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:ENPInvestmentsLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">FSI:MendotaLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">FSI:OwnershipInterestPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-03-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">FSI:ThreeCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_EWCPMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_BCPAMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:BCPAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_custom_EWCPMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:EWCPMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_custom_BCPAMember_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">FSI:BCPAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_custom_SegmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">FSI:SegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_country_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_country_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-03-31_custom_UnitedStatesandAbroadMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">FSI:UnitedStatesandAbroadMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-03-31_custom_UnitedStatesandAbroadMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">FSI:UnitedStatesandAbroadMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-03-31_country_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_country_CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-03-31_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-04-30_us-gaap_SubsequentEventMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001069394</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-04-30</instant>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="USDPShares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <unit id="Segments">
        <measure>FSI:Segments</measure>
    </unit>
    <unit id="CAD">
        <measure>iso4217:CAD</measure>
    </unit>
    <unit id="sqft">
        <measure>utr:sqft</measure>
    </unit>
    <dei:AmendmentFlag contextRef="From2024-01-01to2024-03-31" id="Fact000003">false</dei:AmendmentFlag>
    <dei:DocumentFiscalPeriodFocus contextRef="From2024-01-01to2024-03-31" id="Fact000004">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:CurrentFiscalYearEndDate contextRef="From2024-01-01to2024-03-31" id="Fact000005">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:EntityCentralIndexKey contextRef="From2024-01-01to2024-03-31" id="Fact000006">0001069394</dei:EntityCentralIndexKey>
    <dei:EntityIncorporationStateCountryCode contextRef="From2024-01-01to2024-03-31" id="xdx2ixbrl0022">A0</dei:EntityIncorporationStateCountryCode>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2024-03-31"
      id="xdx2ixbrl0069"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2024-03-31"
      id="xdx2ixbrl0111"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2024-03-31"
      id="xdx2ixbrl0120"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:Commissions
      contextRef="From2024-01-01to2024-03-31"
      id="xdx2ixbrl0246"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:LeaseTerminationFee
      contextRef="From2023-01-012023-03-31"
      id="xdx2ixbrl0256"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="From2023-01-012023-03-31"
      id="xdx2ixbrl0375"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="From2023-01-012023-03-31"
      id="xdx2ixbrl0390"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0435"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-03-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0436"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0437"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-03-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0440"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0443"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-012024-03-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0444"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-012024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0446"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0453"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2024-01-012024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0454"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2024-01-012024-03-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0456"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0461"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0463"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-01-012024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0464"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-01-012024-03-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0466"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0489"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-03-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0490"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0491"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-03-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0494"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0497"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-03-31_custom_CapitalInExcessOfParValueMember"
      id="xdx2ixbrl0498"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0500"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0507"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-012023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0508"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-012023-03-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0510"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      id="xdx2ixbrl0515"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember"
      id="xdx2ixbrl0517"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      id="xdx2ixbrl0518"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-03-31_us-gaap_NoncontrollingInterestMember"
      id="xdx2ixbrl0520"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2024-03-31"
      id="xdx2ixbrl0676"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2024-03-31"
      id="xdx2ixbrl0692"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-03-31_us-gaap_LandMember"
      id="xdx2ixbrl0736"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-03-31_us-gaap_LeaseholdImprovementsMember"
      id="xdx2ixbrl0740"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-03-31_us-gaap_DevelopedTechnologyRightsMember"
      id="xdx2ixbrl0743"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_LandMember"
      id="xdx2ixbrl0763"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember"
      id="xdx2ixbrl0767"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember"
      id="xdx2ixbrl0770"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2023-12-31_custom_EnpPeruInvestmentsLlcMember"
      id="xdx2ixbrl0877"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2024-03-31_custom_EnpPeruInvestmentsLlcMember"
      id="xdx2ixbrl0879"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Investments
      contextRef="AsOf2024-03-31"
      id="xdx2ixbrl0887"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:Investments
      contextRef="AsOf2023-12-31"
      id="xdx2ixbrl0889"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShortTermBorrowings
      contextRef="AsOf2024-03-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember"
      id="xdx2ixbrl0972"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShortTermBorrowings
      contextRef="AsOf2023-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockBankMember_us-gaap_RevolvingCreditFacilityMember"
      id="xdx2ixbrl0974"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestExpenseDebt
      contextRef="From2023-01-012023-03-31_custom_MendotaMember_custom_TermLoanMember"
      id="xdx2ixbrl1047"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2023-01-012023-03-31_custom_ConsultantsMember"
      id="xdx2ixbrl1195"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:StockOptionPlanExpense
      contextRef="From2023-01-012023-03-31_custom_ConsultantsMember"
      id="xdx2ixbrl1199"
      unitRef="USD"
      xsi:nil="true"/>
    <FSI:AdditionalExpensesDueToOptionsGranted
      contextRef="From2024-01-012024-03-31_custom_ConsultantsMember"
      id="xdx2ixbrl1201"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2023-01-012023-03-31_custom_EmployeesMember"
      id="xdx2ixbrl1207"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:StockOptionPlanExpense
      contextRef="From2023-01-012023-03-31_custom_EmployeesMember"
      id="xdx2ixbrl1211"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2024-01-012024-03-31_custom_ConsultantsMember"
      id="xdx2ixbrl1219"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2023-01-012023-03-31_custom_ConsultantsMember"
      id="xdx2ixbrl1223"
      unitRef="Shares"
      xsi:nil="true"/>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue
      contextRef="AsOf2024-03-31_us-gaap_CanadaRevenueAgencyMember"
      id="xdx2ixbrl1229"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:MinorityInterest
      contextRef="AsOf2022-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      id="xdx2ixbrl1285"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestExpense
      contextRef="From2024-01-012024-03-31_custom_EWCPMember_custom_SegmentMember"
      id="xdx2ixbrl1307"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2024-01-012024-03-31_custom_EWCPMember_custom_SegmentMember"
      id="xdx2ixbrl1327"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:InterestExpense
      contextRef="From2023-01-012023-03-31_custom_EWCPMember_custom_SegmentMember"
      id="xdx2ixbrl1335"
      unitRef="USD"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-012023-03-31_custom_EWCPMember_custom_SegmentMember"
      id="xdx2ixbrl1355"
      unitRef="USD"
      xsi:nil="true"/>
    <dei:DocumentType contextRef="From2024-01-01to2024-03-31" id="Fact000015">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="From2024-01-01to2024-03-31" id="Fact000016">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="From2024-01-01to2024-03-31" id="Fact000017">2024-03-31</dei:DocumentPeriodEndDate>
    <dei:DocumentFiscalYearFocus contextRef="From2024-01-01to2024-03-31" id="Fact000018">2024</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport contextRef="From2024-01-01to2024-03-31" id="Fact000019">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="From2024-01-01to2024-03-31" id="Fact000020">001-31540</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="From2024-01-01to2024-03-31" id="Fact000021">FLEXIBLE SOLUTIONS INTERNATIONAL INC.</dei:EntityRegistrantName>
    <dei:EntityTaxIdentificationNumber contextRef="From2024-01-01to2024-03-31" id="Fact000023">71-1630889</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2024-01-01to2024-03-31" id="Fact000024">6001     54 Ave.</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="From2024-01-01to2024-03-31" id="Fact000025">Taber</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2024-01-01to2024-03-31" id="Fact000026">AB</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressCountry contextRef="From2024-01-01to2024-03-31" id="Fact000027">CA</dei:EntityAddressCountry>
    <dei:EntityAddressPostalZipCode contextRef="From2024-01-01to2024-03-31" id="Fact000028">T1G     1X4</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="From2024-01-01to2024-03-31" id="Fact000029">(403)</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2024-01-01to2024-03-31" id="Fact000030">223-2995</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="From2024-01-01to2024-03-31" id="Fact000031">Common     Stock</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="From2024-01-01to2024-03-31" id="Fact000032">FSI</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="From2024-01-01to2024-03-31" id="Fact000033">NYSEAMER</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus contextRef="From2024-01-01to2024-03-31" id="Fact000034">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="From2024-01-01to2024-03-31" id="Fact000035">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="From2024-01-01to2024-03-31" id="Fact000036">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="From2024-01-01to2024-03-31" id="Fact000037">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="From2024-01-01to2024-03-31" id="Fact000038">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="From2024-01-01to2024-03-31" id="Fact000039">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="AsOf2024-05-15"
      decimals="INF"
      id="Fact000040"
      unitRef="Shares">12450532</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:Cash
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000048"
      unitRef="USD">5302954</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000049"
      unitRef="USD">5017583</us-gaap:Cash>
    <us-gaap:DepositsAssetsCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000051"
      unitRef="USD">3023757</us-gaap:DepositsAssetsCurrent>
    <us-gaap:DepositsAssetsCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000052"
      unitRef="USD">2690241</us-gaap:DepositsAssetsCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000054"
      unitRef="USD">12992543</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000055"
      unitRef="USD">9843056</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000057"
      unitRef="USD">10459256</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000058"
      unitRef="USD">11134889</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000060"
      unitRef="USD">741495</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000061"
      unitRef="USD">1540923</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000063"
      unitRef="USD">32520005</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000064"
      unitRef="USD">30226692</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000066"
      unitRef="USD">13267240</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000067"
      unitRef="USD">13171787</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000070"
      unitRef="USD">115293</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000072"
      unitRef="USD">2240000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000073"
      unitRef="USD">2280000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:DepositsAssetsNoncurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000075"
      unitRef="USD">840592</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:DepositsAssetsNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000076"
      unitRef="USD">824254</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000078"
      unitRef="USD">5889161</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000079"
      unitRef="USD">6033960</us-gaap:EquityMethodInvestments>
    <us-gaap:Goodwill
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000081"
      unitRef="USD">2534275</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000082"
      unitRef="USD">2534275</us-gaap:Goodwill>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000084"
      unitRef="USD">284794</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000085"
      unitRef="USD">284794</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:Assets
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000087"
      unitRef="USD">57576067</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000088"
      unitRef="USD">55471055</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000096"
      unitRef="USD">1397915</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000097"
      unitRef="USD">1984592</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000099"
      unitRef="USD">699005</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000100"
      unitRef="USD">284131</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000102"
      unitRef="USD">131827</us-gaap:DeferredRevenueCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000103"
      unitRef="USD">148292</us-gaap:DeferredRevenueCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000105"
      unitRef="USD">4749391</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000106"
      unitRef="USD">4485213</us-gaap:TaxesPayableCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000108"
      unitRef="USD">3259935</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000109"
      unitRef="USD">1810479</us-gaap:LinesOfCreditCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000112"
      unitRef="USD">59520</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000114"
      unitRef="USD">1665440</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000115"
      unitRef="USD">1281632</us-gaap:LongTermDebtCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000117"
      unitRef="USD">11903513</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000118"
      unitRef="USD">10053859</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000121"
      unitRef="USD">55773</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000123"
      unitRef="USD">260047</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000124"
      unitRef="USD">260047</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000126"
      unitRef="USD">6321396</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000127"
      unitRef="USD">6833304</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:Liabilities
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000129"
      unitRef="USD">18484956</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000130"
      unitRef="USD">17202983</us-gaap:Liabilities>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact000135"
      unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000137"
      unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact000139"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000141"
      unitRef="USDPShares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact000143"
      unitRef="Shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000145"
      unitRef="Shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact000147"
      unitRef="USDPShares">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000149"
      unitRef="USDPShares">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact000154"
      unitRef="Shares">12450532</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact000156"
      unitRef="Shares">12450532</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000158"
      unitRef="Shares">12432523</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact000160"
      unitRef="Shares">12432523</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000151"
      unitRef="USD">12451</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000152"
      unitRef="USD">12436</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000162"
      unitRef="USD">12451</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000163"
      unitRef="USD">12436</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000165"
      unitRef="USD">18211607</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000166"
      unitRef="USD">17932015</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000168"
      unitRef="USD">-767923</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000169"
      unitRef="USD">-795146</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000171"
      unitRef="USD">18510277</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000172"
      unitRef="USD">18053051</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000174"
      unitRef="USD">35966412</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000175"
      unitRef="USD">35202356</us-gaap:StockholdersEquity>
    <us-gaap:MinorityInterest
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000177"
      unitRef="USD">3124699</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000178"
      unitRef="USD">3065716</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000180"
      unitRef="USD">39091111</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000181"
      unitRef="USD">38268072</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000183"
      unitRef="USD">57576067</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000184"
      unitRef="USD">55471055</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000186"
      unitRef="USD">9224872</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000187"
      unitRef="USD">9847517</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000189"
      unitRef="USD">6404505</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000190"
      unitRef="USD">6762525</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000192"
      unitRef="USD">2820367</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000193"
      unitRef="USD">3084992</us-gaap:GrossProfit>
    <us-gaap:SalariesAndWages
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000198"
      unitRef="USD">651158</us-gaap:SalariesAndWages>
    <us-gaap:SalariesAndWages
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000199"
      unitRef="USD">671692</us-gaap:SalariesAndWages>
    <us-gaap:OfficersCompensation
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000201"
      unitRef="USD">417859</us-gaap:OfficersCompensation>
    <us-gaap:OfficersCompensation
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000202"
      unitRef="USD">393014</us-gaap:OfficersCompensation>
    <us-gaap:GeneralInsuranceExpense
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000204"
      unitRef="USD">244260</us-gaap:GeneralInsuranceExpense>
    <us-gaap:GeneralInsuranceExpense
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000205"
      unitRef="USD">201530</us-gaap:GeneralInsuranceExpense>
    <us-gaap:InterestExpense
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000207"
      unitRef="USD">175266</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000208"
      unitRef="USD">134870</us-gaap:InterestExpense>
    <us-gaap:OtherGeneralExpense
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000210"
      unitRef="USD">157623</us-gaap:OtherGeneralExpense>
    <us-gaap:OtherGeneralExpense
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000211"
      unitRef="USD">98846</us-gaap:OtherGeneralExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000213"
      unitRef="USD">126654</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000214"
      unitRef="USD">21502</us-gaap:ResearchAndDevelopmentExpense>
    <FSI:Consulting
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000216"
      unitRef="USD">99921</FSI:Consulting>
    <FSI:Consulting
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000217"
      unitRef="USD">62977</FSI:Consulting>
    <us-gaap:UtilitiesOperatingExpense
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000219"
      unitRef="USD">73676</us-gaap:UtilitiesOperatingExpense>
    <us-gaap:UtilitiesOperatingExpense
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000220"
      unitRef="USD">7487</us-gaap:UtilitiesOperatingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000222"
      unitRef="USD">66949</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000223"
      unitRef="USD">48398</us-gaap:SellingAndMarketingExpense>
    <us-gaap:TravelAndEntertainmentExpense
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000225"
      unitRef="USD">66261</us-gaap:TravelAndEntertainmentExpense>
    <us-gaap:TravelAndEntertainmentExpense
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000226"
      unitRef="USD">61652</us-gaap:TravelAndEntertainmentExpense>
    <us-gaap:ProfessionalFees
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000228"
      unitRef="USD">60995</us-gaap:ProfessionalFees>
    <us-gaap:ProfessionalFees
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000229"
      unitRef="USD">62767</us-gaap:ProfessionalFees>
    <FSI:InvestorRelationsAndTransferAgentFee
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000231"
      unitRef="USD">39304</FSI:InvestorRelationsAndTransferAgentFee>
    <FSI:InvestorRelationsAndTransferAgentFee
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000232"
      unitRef="USD">89892</FSI:InvestorRelationsAndTransferAgentFee>
    <us-gaap:OperatingLeaseExpense
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000234"
      unitRef="USD">30150</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000235"
      unitRef="USD">25295</us-gaap:OperatingLeaseExpense>
    <us-gaap:CommunicationsAndInformationTechnology
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000237"
      unitRef="USD">13532</us-gaap:CommunicationsAndInformationTechnology>
    <us-gaap:CommunicationsAndInformationTechnology
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000238"
      unitRef="USD">12578</us-gaap:CommunicationsAndInformationTechnology>
    <FSI:ShippingCost
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000240"
      unitRef="USD">7829</FSI:ShippingCost>
    <FSI:ShippingCost
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000241"
      unitRef="USD">4666</FSI:ShippingCost>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000243"
      unitRef="USD">1635</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000244"
      unitRef="USD">-2576</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <FSI:Commissions
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000247"
      unitRef="USD">2985</FSI:Commissions>
    <us-gaap:OperatingExpenses
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000249"
      unitRef="USD">2229802</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000250"
      unitRef="USD">1902727</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000252"
      unitRef="USD">590565</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000253"
      unitRef="USD">1182265</us-gaap:OperatingIncomeLoss>
    <FSI:LeaseTerminationFee
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000255"
      unitRef="USD">41350</FSI:LeaseTerminationFee>
    <us-gaap:GainLossOnInvestments
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000258"
      unitRef="USD">182975</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000259"
      unitRef="USD">69995</us-gaap:GainLossOnInvestments>
    <us-gaap:InterestIncomeOther
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000261"
      unitRef="USD">48197</us-gaap:InterestIncomeOther>
    <us-gaap:InterestIncomeOther
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000262"
      unitRef="USD">12011</us-gaap:InterestIncomeOther>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000264"
      unitRef="USD">780387</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000265"
      unitRef="USD">1264271</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000270"
      unitRef="USD">264178</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000271"
      unitRef="USD">299777</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000273"
      unitRef="USD">516209</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000274"
      unitRef="USD">964494</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000276"
      unitRef="USD">58983</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000277"
      unitRef="USD">80125</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000279"
      unitRef="USD">457226</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000280"
      unitRef="USD">884369</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact000282"
      unitRef="USDPShares">0.04</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact000284"
      unitRef="USDPShares">0.04</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-01-012023-03-31"
      decimals="INF"
      id="Fact000286"
      unitRef="USDPShares">0.07</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-01-012023-03-31"
      decimals="INF"
      id="Fact000288"
      unitRef="USDPShares">0.07</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact000290"
      unitRef="Shares">12449699</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-01-012023-03-31"
      decimals="INF"
      id="Fact000291"
      unitRef="Shares">12432914</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact000293"
      unitRef="Shares">12449699</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-01-012023-03-31"
      decimals="INF"
      id="Fact000294"
      unitRef="Shares">12532404</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000299"
      unitRef="USD">516209</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000300"
      unitRef="USD">964494</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000302"
      unitRef="USD">27223</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000303"
      unitRef="USD">-167239</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000305"
      unitRef="USD">543432</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000306"
      unitRef="USD">797255</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000308"
      unitRef="USD">58983</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000309"
      unitRef="USD">80125</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000311"
      unitRef="USD">484449</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000312"
      unitRef="USD">717130</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000317"
      unitRef="USD">516209</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000318"
      unitRef="USD">964494</us-gaap:ProfitLoss>
    <us-gaap:ShareBasedCompensation
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000323"
      unitRef="USD">253357</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000324"
      unitRef="USD">185298</us-gaap:ShareBasedCompensation>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000326"
      unitRef="USD">422669</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000327"
      unitRef="USD">342810</us-gaap:DepreciationAndAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000329"
      unitRef="USD">13694</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000330"
      unitRef="USD">12775</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <FSI:LeaseRightOfUseFinancing
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000332"
      unitRef="USD">1186</FSI:LeaseRightOfUseFinancing>
    <FSI:LeaseRightOfUseFinancing
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000333"
      unitRef="USD">1745</FSI:LeaseRightOfUseFinancing>
    <us-gaap:GainLossOnTerminationOfLease
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000335"
      unitRef="USD">-41350</us-gaap:GainLossOnTerminationOfLease>
    <us-gaap:GainLossOnInvestments
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000338"
      unitRef="USD">182975</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000339"
      unitRef="USD">69995</us-gaap:GainLossOnInvestments>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000344"
      unitRef="USD">3149487</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000345"
      unitRef="USD">1383671</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000347"
      unitRef="USD">-675633</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000348"
      unitRef="USD">-39607</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000350"
      unitRef="USD">-799428</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInPrepaidExpense
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000351"
      unitRef="USD">21497</us-gaap:IncreaseDecreaseInPrepaidExpense>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000353"
      unitRef="USD">-171028</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000354"
      unitRef="USD">-179149</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000356"
      unitRef="USD">264178</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000357"
      unitRef="USD">152577</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000359"
      unitRef="USD">-16465</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000360"
      unitRef="USD">-273223</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000362"
      unitRef="USD">-532251</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000363"
      unitRef="USD">-228229</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <FSI:PaymentsToAcquireLongTermDeposits
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000368"
      unitRef="USD">21778</FSI:PaymentsToAcquireLongTermDeposits>
    <FSI:PaymentsToAcquireLongTermDeposits
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000369"
      unitRef="USD">342747</FSI:PaymentsToAcquireLongTermDeposits>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000371"
      unitRef="USD">478123</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000372"
      unitRef="USD">213060</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000374"
      unitRef="USD">327000</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000377"
      unitRef="USD">-172901</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000378"
      unitRef="USD">-555807</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000383"
      unitRef="USD">1449456</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000384"
      unitRef="USD">844913</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000386"
      unitRef="USD">185916</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000387"
      unitRef="USD">177639</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000389"
      unitRef="USD">57816</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:PaymentsOfFinancingCosts
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000392"
      unitRef="USD">50790</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:PaymentsOfFinancingCosts
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000393"
      unitRef="USD">14520</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000395"
      unitRef="USD">26250</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000396"
      unitRef="USD">13600</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000398"
      unitRef="USD">1296816</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000399"
      unitRef="USD">666354</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000401"
      unitRef="USD">27223</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000402"
      unitRef="USD">-167239</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000404"
      unitRef="USD">618887</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000405"
      unitRef="USD">-284921</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000407"
      unitRef="USD">7707824</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000408"
      unitRef="USD">6815099</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000410"
      unitRef="USD">8326711</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2023-03-31"
      decimals="0"
      id="Fact000411"
      unitRef="USD">6530178</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:Cash
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000416"
      unitRef="USD">5302954</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="AsOf2023-03-31"
      decimals="0"
      id="Fact000417"
      unitRef="USD">5530178</us-gaap:Cash>
    <us-gaap:ShortTermInvestments
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000419"
      unitRef="USD">3023757</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments
      contextRef="AsOf2023-03-31"
      decimals="0"
      id="Fact000420"
      unitRef="USD">1000000</us-gaap:ShortTermInvestments>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000422"
      unitRef="USD">8326711</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="AsOf2023-03-31"
      decimals="0"
      id="Fact000423"
      unitRef="USD">6530178</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000433"
      unitRef="Shares">12435532</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000425"
      unitRef="USD">12436</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000426"
      unitRef="USD">17932015</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000427"
      unitRef="USD">18053051</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="Fact000428"
      unitRef="USD">-795146</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000429"
      unitRef="USD">35202356</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000430"
      unitRef="USD">3065716</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000431"
      unitRef="USD">38268072</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="Fact000438"
      unitRef="USD">27223</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-012024-03-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000439"
      unitRef="USD">27223</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000441"
      unitRef="USD">27223</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-012024-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000445"
      unitRef="USD">457226</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-012024-03-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000447"
      unitRef="USD">457226</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-012024-03-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000448"
      unitRef="USD">58983</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000449"
      unitRef="USD">516209</us-gaap:ProfitLoss>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000459"
      unitRef="Shares">15000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2024-01-012024-03-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000451"
      unitRef="USD">15</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2024-01-012024-03-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000452"
      unitRef="USD">26235</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2024-01-012024-03-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000455"
      unitRef="USD">26250</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000457"
      unitRef="USD">26250</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-01-012024-03-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000462"
      unitRef="USD">253357</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-01-012024-03-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000465"
      unitRef="USD">253357</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000467"
      unitRef="USD">253357</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2024-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000477"
      unitRef="Shares">12450532</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000469"
      unitRef="USD">12451</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000470"
      unitRef="USD">18211607</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000471"
      unitRef="USD">18510277</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="Fact000472"
      unitRef="USD">-767923</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000473"
      unitRef="USD">35966412</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000474"
      unitRef="USD">3124699</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000475"
      unitRef="USD">39091111</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000487"
      unitRef="Shares">12426260</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000479"
      unitRef="USD">12426</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000480"
      unitRef="USD">17523345</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000481"
      unitRef="USD">15903964</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="Fact000482"
      unitRef="USD">-805799</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000483"
      unitRef="USD">32633936</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000484"
      unitRef="USD">2605034</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000485"
      unitRef="USD">35238970</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="Fact000492"
      unitRef="USD">-167239</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-03-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000493"
      unitRef="USD">-167239</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000495"
      unitRef="USD">-167239</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000499"
      unitRef="USD">884369</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-03-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000501"
      unitRef="USD">884369</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-03-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000502"
      unitRef="USD">80125</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000503"
      unitRef="USD">964494</us-gaap:ProfitLoss>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000513"
      unitRef="Shares">9272</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-012023-03-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000505"
      unitRef="USD">10</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-012023-03-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000506"
      unitRef="USD">13590</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-012023-03-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000509"
      unitRef="USD">13600</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000511"
      unitRef="USD">13600</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-03-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000516"
      unitRef="USD">185298</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-03-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000519"
      unitRef="USD">185298</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000521"
      unitRef="USD">185298</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-03-31_us-gaap_CommonStockMember"
      decimals="INF"
      id="Fact000531"
      unitRef="Shares">12435532</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-03-31_us-gaap_CommonStockMember"
      decimals="0"
      id="Fact000523"
      unitRef="USD">12436</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-03-31_custom_CapitalInExcessOfParValueMember"
      decimals="0"
      id="Fact000524"
      unitRef="USD">17722233</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-03-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="Fact000525"
      unitRef="USD">16788333</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-03-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="Fact000526"
      unitRef="USD">-973038</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-03-31_us-gaap_ParentMember"
      decimals="0"
      id="Fact000527"
      unitRef="USD">33549964</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-03-31_us-gaap_NoncontrollingInterestMember"
      decimals="0"
      id="Fact000528"
      unitRef="USD">2685159</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-03-31"
      decimals="0"
      id="Fact000529"
      unitRef="USD">36235123</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000533">&lt;p id="xdx_802_eus-gaap--BusinessDescriptionAndBasisOfPresentationTextBlock_zxAE6HzqDrL5" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;1.
&lt;span id="xdx_82B_zyVtHEuL2n8k"&gt;BASIS OF PRESENTATION&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;These
interim condensed consolidated financial statements (&#x201c;consolidated financial statements&#x201d;) include the accounts of
Flexible Solutions International, Inc. (the &#x201c;Company&#x201d;), its wholly-owned subsidiaries Flexible Fermentation Ltd.,
NanoChem Solutions Inc. (&#x201c;NanoChem&#x201d;), Flexible Solutions Ltd., Flexible Biomass LP, FS Biomass Inc., NCS Deferred Corp.,
Natural Chem SEZC Ltd., InnFlex Holdings Inc., ENP Peru Investments LLC (&#x201c;ENP Peru&#x201d;), its &lt;span id="xdx_901_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember_zUTmT6eKx2a2" title="Subsidiary company ownership interest rate"&gt;80&lt;/span&gt;%
controlling interest in 317 Mendota LLC (&#x201c;317 Mendota&#x201d;), and its &lt;span id="xdx_903_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCAndENPMendotaMember_zwJ8MSzwNual" title="Subsidiary company ownership interest rate"&gt;65&lt;/span&gt;%
controlling interest in ENP Investments, LLC (&#x201c;ENP Investments&#x201d;) and ENP Mendota, LLC (&#x201c;ENP Mendota&#x201d;). All
inter-company balances and transactions have been eliminated upon consolidation. The Company was incorporated on May 12, 1998 in the
State of Nevada and in 2019, the Company redomiciled into Alberta, Canada.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
2022, NanoChem purchased an additional &lt;span id="xdx_906_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zkLdI1g3X3ch" title="Increase decrease in share percentage"&gt;50&lt;/span&gt;% in ENP Peru, increasing its share to &lt;span id="xdx_905_ecustom--IncreaseDecreaseInSharePercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_z28tys7Qnyad" title="Increase decrease in share percentage"&gt;91.67&lt;/span&gt;%. ENP Investments owned the remaining &lt;span id="xdx_901_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zIfhRgiYPsa1" title="Remaining investment owned percentage"&gt;8.33&lt;/span&gt;%, of
which the Company has a &lt;span id="xdx_908_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20220101__20221231__srt--OwnershipAxis__custom--ENPPeruMember_zxe2VjL7osLh" title="Subsidiary company ownership interest rate"&gt;65&lt;/span&gt;% interest. In 2023, NanoChem purchased the remaining &lt;span id="xdx_90B_ecustom--RemainingInvestmentOwnedPercentage_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--ENPPeruMember_zwcsLLsmfWj9" title="Remaining investment owned percentage"&gt;8.33&lt;/span&gt;% of shares to become sole owner. ENP Peru was previously
accounted for under the equity method however, it is now consolidated into the financial statements from the date control was obtained.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
2023, the Company purchased an &lt;span id="xdx_905_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember_zEaHPKiTi3ni" title="Subsidiary company ownership interest rate"&gt;80&lt;/span&gt;% interest in 317 Mendota, a newly incorporated company established to purchase a large manufacturing
building. ENP Investments will occupy part of this building, freeing up more space in the building owned by ENP Peru for NanoChem. The
Company intends to rent the remainder of the space to suitable tenants. The remaining &lt;span id="xdx_908_eus-gaap--MinorityInterestOwnershipPercentageByNoncontrollingOwners_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--UnrelatedPartyMember_zLcvKOHf0lVe" title="Noncontrolling interest percentage"&gt;20&lt;/span&gt;% non-controlling interest is held by unrelated
parties.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company and its subsidiaries develop, manufacture and market specialty chemicals which slow the evaporation of water. One product, HEATSAVR&#xae;,
is marketed for use in swimming pools and spas where its use, by slowing the evaporation of water, allows the water to retain a higher
temperature for a longer period of time and thereby reduces the energy required to maintain the desired temperature of the water in the
pool. Another product, WATERSAVR&#xae;, is marketed for water conservation in irrigation canals, aquaculture, and reservoirs where its
use slows water loss due to evaporation. In addition to the water conservation products, the Company also manufactures and markets water-soluble
chemicals utilizing thermal polyaspartate biopolymers (hereinafter referred to as &#x201c;TPAs&#x201d;), which are beta-proteins manufactured
from the common biological amino acid, L-aspartic. TPAs can be formulated to prevent corrosion and scaling in water piping within the
petroleum, chemical, utility and mining industries. TPAs are also used as proteins to enhance fertilizers in improving crop yields and
can be used as additives for household laundry detergents, consumer care products and pesticides. The TPA division also manufactures
two nitrogen conservation products for agriculture that slows nitrogen loss from fields.&lt;/span&gt;&lt;/p&gt;

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

</us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2024-01-012024-03-31_custom_MendotaLLCMember"
      decimals="INF"
      id="Fact000535"
      unitRef="Pure">0.80</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2024-01-012024-03-31_custom_ENPInvestmentsLLCAndENPMendotaMember"
      decimals="INF"
      id="Fact000537"
      unitRef="Pure">0.65</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <FSI:IncreaseDecreaseInSharePercentage
      contextRef="From2022-01-012022-12-31_custom_ENPPeruMember_custom_UnrelatedPartyMember"
      decimals="INF"
      id="Fact000539"
      unitRef="Pure">0.50</FSI:IncreaseDecreaseInSharePercentage>
    <FSI:IncreaseDecreaseInSharePercentage
      contextRef="From2022-01-012022-12-31_custom_ENPPeruMember"
      decimals="INF"
      id="Fact000541"
      unitRef="Pure">0.9167</FSI:IncreaseDecreaseInSharePercentage>
    <FSI:RemainingInvestmentOwnedPercentage
      contextRef="From2022-01-012022-12-31_custom_ENPPeruMember"
      decimals="INF"
      id="Fact000543"
      unitRef="Pure">0.0833</FSI:RemainingInvestmentOwnedPercentage>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2022-01-012022-12-31_custom_ENPPeruMember"
      decimals="INF"
      id="Fact000545"
      unitRef="Pure">0.65</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <FSI:RemainingInvestmentOwnedPercentage
      contextRef="From2023-01-012023-12-31_custom_ENPPeruMember"
      decimals="INF"
      id="Fact000547"
      unitRef="Pure">0.0833</FSI:RemainingInvestmentOwnedPercentage>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember"
      decimals="INF"
      id="Fact000549"
      unitRef="Pure">0.80</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="AsOf2023-12-31_custom_MendotaLLCMember_custom_UnrelatedPartyMember"
      decimals="INF"
      id="Fact000551"
      unitRef="Pure">0.20</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000553">&lt;p id="xdx_802_eus-gaap--SignificantAccountingPoliciesTextBlock_zsjXoQ6rETag" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;2.
&lt;span id="xdx_825_zt7P0TNTN5Kl"&gt;SIGNIFICANT ACCOUNTING POLICIES&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;These
consolidated financial statements have been prepared on a historical cost basis, except where otherwise noted, in accordance with accounting
principles generally accepted in the United States applicable to a going concern and reflect the policies outlined below.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;In the opinion of management,
the accompanying unaudited condensed interim consolidated financial statements contain all adjustments (all of which are of a normal recurring
nature) and disclosures necessary for a fair presentation of the Company&#x2019;s financial position as of March 31, 2024 and the results
of its operations for the three months then ended. The consolidated balance sheet as of December 31, 2023 is derived from the December
31, 2023 audited financial statements.&lt;/p&gt;

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

&lt;p id="xdx_84D_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zHTXk8aYkmx9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(a)
&lt;i&gt;&lt;span id="xdx_86A_z6dF8Qxs1swb"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company considers all highly liquid investments purchased with an original or remaining maturity of less than three months at the date
of purchase to be cash equivalents. Cash and cash equivalents are maintained with several financial institutions. As of March 31, 2024 and December 31, 2023, the Company did not have any cash equivalents.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_843_ecustom--TermDepositsPolicyTextBlock_z9J7cUtzKejl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(b)
&lt;i&gt;&lt;span id="xdx_86B_zw0LhRICKygl"&gt;Term Deposits&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has five term deposits that are maintained by commercials banks. The first term deposit is for $&lt;span id="xdx_907_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zjW7tTYZblB7"&gt;688,126&lt;/span&gt; and matures in April
2024. This deposit pays &lt;span id="xdx_900_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zJyZV2tESkWg"&gt;4.908&lt;/span&gt;% interest and if withdrawn before maturity, the greater of the loss of accrued interest or $&lt;span id="xdx_907_ecustom--MinimumInterestPenalty_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zFge2LU4rM4d" title="Minimum interest penalty"&gt;150&lt;/span&gt;, plus 1%
of the principal shall be levied. The second term deposit is for $&lt;span id="xdx_908_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zvCGdQWuYBre"&gt;303,954&lt;/span&gt; and matures in February 2025. This deposit pays &lt;span id="xdx_908_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zdNW7mCGpH67"&gt;1.3&lt;/span&gt;% interest
and if withdrawn before maturity, a penalty may be applied. The third term deposit is for $&lt;span id="xdx_908_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zrUdSDwEu6Ei"&gt;720,982&lt;/span&gt;, matures in May 2024 and pays interest
at a rate of &lt;span id="xdx_90C_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zTeclXtsMsJa"&gt;3.00&lt;/span&gt;%. If withdrawn before maturity, the greater of the loss of accrued interest or $&lt;span id="xdx_903_ecustom--MinimumInterestPenalty_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zWyhnYx8Ex0f" title="Minimum interest penalty"&gt;150&lt;/span&gt;, plus 1% of the principal shall
be levied. The fourth term deposit is for $&lt;span id="xdx_902_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_z8aZ2heimwih"&gt;1,000,000&lt;/span&gt; and matures in May 2024. This deposit pays &lt;span id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zsEWLK0EApxh"&gt;3.85&lt;/span&gt;% and if withdrawn before maturity,
the greater of the loss of accrued interest or $&lt;span id="xdx_909_ecustom--MinimumInterestPenalty_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zREo996lFmVi" title="Minimum interest penalty"&gt;150&lt;/span&gt;, plus 1% of the principal shall be levied. The fifth term deposit is for $&lt;span id="xdx_900_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FifthTermMember_zNAnmy2g2QK9"&gt;310,695&lt;/span&gt;,
matures in August 2024 and pays interest at a rate of &lt;span id="xdx_90A_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FifthTermMember_zzWsQz3A3vE2" title="Interest rate"&gt;3.85&lt;/span&gt;%. If withdrawn before maturity, a penalty may be applied.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_84B_eus-gaap--InventoryPolicyTextBlock_zcWe5KH5546a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(c)
&lt;i&gt;&lt;span id="xdx_86F_zFdvQHqpGkui"&gt;Inventories and Cost of Sales&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has three major classes of inventory: completed goods, work in progress and raw materials and supplies. In all classes inventories
are stated at the lower of cost or net realizable value. Cost is determined on a first-in, first-out basis or weighted average cost
formula to inventories in different subsidiaries. Cost of sales includes all expenditures incurred in bringing the goods to the point
of sale. Inventory costs and costs of sales include direct costs of the raw material, inbound freight charges, warehousing costs, handling
costs (receiving and purchasing) and utilities and overhead expenses related to the Company&#x2019;s manufacturing and processing facilities.
Shipping and handling charges billed to customers are included in revenue (2024 - $&lt;span id="xdx_906_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zG9KQZBHRvOf" title="Sales"&gt;128,289&lt;/span&gt;; 2023 - $&lt;span id="xdx_901_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_z81pX6BvSDl3" title="Sales"&gt;143,173&lt;/span&gt;). Shipping and handling costs
incurred are included in cost of goods sold (2024 - $&lt;span id="xdx_906_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zLLNHaoruwuk" title="Cost of sales"&gt;216,503&lt;/span&gt;; 2023 - $&lt;span id="xdx_908_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_z3CaYo37rZK7" title="Cost of sales"&gt;255,489&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

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




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

&lt;p id="xdx_840_eus-gaap--PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_z2Vq8K0PG0s4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(d)
&lt;i&gt;&lt;span id="xdx_867_zLQLDSH53vxj"&gt;Allowance for expected credit losses&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The Company&#x2019;s expected credit losses are determined through a review
using historical credit loss experience; changes in asset specific characteristics, current conditions, and reasonable and supportable
future forecasts, among other specific account data, and is performed at least quarterly. The company develops and documents its methodology
to determine its allowance for expected credit losses. Risk characteristics used by the Company may include customer mix, knowledge of
customers and general economic conditions of the various local economics, among others. Specific account balances are written off when
management determines the amounts to be uncollectible. Management has reviewed the balance reserved through the allowance for expected
losses and believes it is reasonable.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_842_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zZ07thJRLxEf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(e)
&lt;i&gt;&lt;span id="xdx_868_zPTF9WWoaN93"&gt;Property, Equipment, Leaseholds and Intangible Assets&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_896_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zP0elhHtTvL2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B4_zr2vNuEB9na1" style="display: none"&gt;SCHEDULE OF METHOD OF DEPRECIATION&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse; margin-left: 0.75in"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Manufacturing
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_900_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zrNSkPUGyK94" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Office
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zy6XWTFJvQWl" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Building
    and improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_901_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zCwcYMGFOJN3" title="Depreciation method used and annual rate"&gt;10%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Automobiles&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zLT8twLNlpB5" title="Depreciation method used and annual rate"&gt;Straight-line
    over 5 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Technology&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_z5KYl0x993Xj" title="Depreciation method used and annual rate"&gt;Straight-line
    over 10 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Leasehold
    improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zIdkrd8NP6Bc" title="Depreciation method used and annual rate"&gt;Straight-line
    over lease term&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Customer
    relationships &lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_z8lIP2E3Iqz6" title="Depreciation method used and annual rate"&gt;Straight-line
    over 15 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p id="xdx_8A5_zwBKFwCwlxmj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_848_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zQYGruLzMeQ6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(f)
&lt;i&gt;&lt;span id="xdx_864_ziZkad3F28yi"&gt;Impairment of Long-Lived Assets&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
accordance with FASB Codification Topic 360, &lt;i&gt;Property, Plant and Equipment&lt;/i&gt; (ASC 360), the Company reviews long-lived assets, including,
but not limited to, property, equipment and leaseholds, patents and other assets, for impairment annually or whenever events or changes
in circumstances indicate the carrying amounts of assets may not be recoverable. The carrying value of long-lived assets is assessed
for impairment by evaluating operating performance and future undiscounted cash flows of the underlying assets. If the expected future
cash flows of an asset is less than its carrying value, an impairment measurement is indicated. Impairment charges are recorded to the
extent that an asset&#x2019;s carrying value exceeds its fair value. Accordingly, actual results could vary significantly from such estimates.
There were no impairment charges during the periods presented.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_843_eus-gaap--ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_zuNUpO6r6H5l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(g)
&lt;i&gt;&lt;span id="xdx_86E_zhVbRTvVPH1g"&gt;Foreign Currency&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
functional currency of the Company is the U.S. dollar. The functional currency of three of the Company&#x2019;s subsidiaries is the Canadian
dollar. The translation of the Canadian dollar to the reporting currency of the Company, the U.S. dollar, is performed for assets and
liabilities using exchange rates in effect at the balance sheet date. Revenue and expense transactions are translated using average exchange
rates prevailing during the year. Translation adjustments arising on conversion of the Company&#x2019;s financial statements from the
subsidiary&#x2019;s functional currency, Canadian dollars, into the reporting currency, U.S. dollars, are excluded from the determination
of income (loss) and are disclosed as other comprehensive income in the consolidated statements of income and comprehensive income.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Foreign
exchange gains and losses relating to transactions not denominated in the applicable local currency are included in operating income
(loss) if realized during the year and in comprehensive income (loss) if they remain unrealized at the end of the year.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_840_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zzH6m8ktZcy2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(h)
&lt;i&gt;&lt;span id="xdx_86D_zpC7ZURbKYi8"&gt;Revenue Recognition&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note
15.&lt;/span&gt;&lt;/p&gt;

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




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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company follows a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with the customer,
(2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4) allocation of
the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation is satisfied.
The Company has fulfilled its performance obligations when control transfers to the customer, which is generally at the time the product
is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free-on-board shipping
point, the Company has elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Since
the Company&#x2019;s inception, product returns have been insignificant; therefore, no provision has been established for estimated product
returns.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
revenues consist of products sold to distributors with payment terms greater than the Company&#x2019;s customary business terms due to
lack of credit history or operating in a new market in which the Company has no prior experience. The Company defers the recognition
of revenue until the criteria for revenue recognition has been met and payments become due or cash is received from these distributors.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_84E_ecustom--StockIssuedInExchangeForServicesPolicyTextBlock_zkOwr6D3SyP9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(i)
&lt;i&gt;&lt;span id="xdx_86A_z8bcJq9ovuhi"&gt;Stock Issued in Exchange for Services&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s common stock issued in exchange for services is valued at estimated fair market value based upon trading prices of the
Company&#x2019;s common stock on the dates of the stock transactions. The corresponding expense of the services rendered is recognized
over the period that the services are performed.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_847_eus-gaap--CompensationRelatedCostsPolicyTextBlock_zyRTn9ZOSlbd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(j)
&lt;i&gt;&lt;span id="xdx_86F_zf9PYjuEMVua"&gt;Stock-based Compensation&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company recognizes compensation expense for all share-based payments in accordance with FASB Codification Topic 718, &lt;i&gt;Compensation
&#x2014; Stock Compensation&lt;/i&gt; (ASC 718). Under the fair value recognition provisions of ASC 718, the Company recognizes share-based
compensation expense, net of an estimated forfeiture rate, over the requisite service period of the award.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair value at grant date of stock options is estimated using the Black-Scholes option-pricing model. Compensation expense is recognized
on a straight-line basis over the stock option vesting period based on the estimated number of stock options that are expected to vest.
Shares are issued from treasury upon exercise of stock options.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_849_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_z4oyBN3P66v2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(k)
&lt;i&gt;&lt;span id="xdx_868_zWtfzOG52hXk"&gt;Other Comprehensive Income&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other
comprehensive income refers to revenues, expenses, gains and losses that under generally accepted accounting principles are included
in comprehensive income, but are excluded from net income as these amounts are recorded directly as an adjustment to stockholders&#x2019;
equity. The Company&#x2019;s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the
translation of subsidiaries&#x2019; functional currency into the reporting currency.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_843_eus-gaap--EarningsPerSharePolicyTextBlock_zVGbBHhaFMcf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(l)
&lt;i&gt;&lt;span id="xdx_866_zuW2leEvzjda"&gt;Income Per Share&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Basic
earnings per share is computed by dividing income available to common stockholders by the weighted average number of common shares outstanding
in the period. Diluted earnings per share are calculated giving effect to the potential dilution of the exercise of options and warrants.
Common equivalent shares, composed of incremental common shares issuable upon the exercise of stock options and warrants are included
in diluted net income per share to the extent that these shares are dilutive. Common equivalent shares that have an anti-dilutive effect
on net income per share have been excluded from the calculation of diluted weighted average shares outstanding for the three months ended
March 31, 2024 and 2023.&lt;/span&gt;&lt;/p&gt;

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




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

&lt;p id="xdx_848_eus-gaap--UseOfEstimates_zwun4of7g4H1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(m)
&lt;i&gt;&lt;span id="xdx_863_z2kbFklKh1I9"&gt;Use of Estimates&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States requires
management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the consolidated
financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from
those estimates and would impact the results of operations and cash flows.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 35.45pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Estimates
and underlying assumptions are reviewed at each period end. Revisions to accounting estimates are recognized in the period in which the
estimates are revised and in any future periods affected.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Significant
areas requiring the use of management estimates include assumptions and estimates relating to the valuation of goodwill and intangible
assets, valuation of assets acquired at fair value, asset impairment analysis, share-based payments, valuation allowances for deferred
income tax assets, determination of useful lives of property, equipment and leaseholds and intangible assets, recoverability of accounts
receivable, recoverability of investments, discount rates for right of use assets and the costing and recoverable value of inventory.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_84B_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zoev4b7Wg4eh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(n)
&lt;i&gt;&lt;span id="xdx_869_zjwkw1v9GFui"&gt;Fair Value of Financial Instruments&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Fair
value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal
or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.
Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.
The standard describes a fair value hierarchy based on three levels of inputs described below, of which the first two are considered
observable and the last unobservable, that may be used to measure fair value.&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    1 &#x2013; Quoted prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    2 &#x2013; Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets
    or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable
    market data for substantially the full term of the assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    3 &#x2014; Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets
    or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair values of cash, term deposits, accounts receivable, accounts payable, accrued liabilities and the short term line of credit for
all periods presented approximate their respective carrying amounts due to the short term nature of these financial instruments.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair value of the long term debt and lease liabilities for all periods presented approximate their respective carrying amounts due to
these financial instruments being at market rates.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_84B_eus-gaap--CommitmentsAndContingenciesPolicyTextBlock_zg2ZTRJRVm1c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(o)
&lt;i&gt;&lt;span id="xdx_863_zlwP3hsVBn16"&gt;Contingencies&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Certain
conditions may exist as of the date the consolidated financial statements are issued which may result in a loss to the Company but which
will only be resolved when one or more future events occur or fail to occur. The Company&#x2019;s management and its legal counsel assess
such contingent liabilities, and such assessment inherently involves an exercise of judgment. In assessing loss contingencies related
to legal proceedings that are pending against the Company or unasserted claims that may result in such proceedings, the Company&#x2019;s
legal counsel evaluates the perceived merits of any legal proceedings or unasserted claims as well as the perceived merits of the amount
of relief sought or expected to be sought therein.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;If
the assessment of a contingency indicates that it is probable that a material loss has been incurred and the amount of the liability
can be estimated, the estimated liability would be accrued in the Company&#x2019;s consolidated financial statements. If the assessment
indicates that a potential material loss contingency is not probable, but is reasonably possible, or is probable but cannot be estimated,
then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, would
be disclosed.&lt;/span&gt;&lt;/p&gt;

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




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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Loss
contingencies considered remote are generally not disclosed unless they involve guarantees, in which case the guarantees would be disclosed.
Legal fees associated with loss contingencies are expensed as incurred. The Company is not aware of any contingencies at the date of
these consolidated financial statements.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_84E_eus-gaap--IncomeTaxPolicyTextBlock_zyUBcqtmPd85" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(p)
&lt;i&gt;&lt;span id="xdx_862_zhJmdPOPoRG5"&gt;Income Taxes&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income
taxes are computed by multiplying the Company&#x2019;s taxable net income by the Company&#x2019;s effective tax rates. Deferred income
tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial
statement carrying amounts of existing assets and liabilities and their respective tax bases, and operating loss carry-forwards, if any.
Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which
those temporary differences are expected to be recovered or settled. The effect on deferred income tax assets and liabilities of a change
in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is provided to reduce the
carrying amount of deferred income tax assets if it is considered more likely than not that some portion, or all, of the deferred income
tax assets will not be realized.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
accordance with FASB Codification Topic 740, &lt;i&gt;Income taxes&lt;/i&gt; (ASC 740) under the liability method, it is the Company&#x2019;s policy
to provide for uncertain tax positions and the related interest and penalties based upon management&#x2019;s assessment of whether a tax
benefit is more likely than not to be sustained upon examination by tax authorities. At March 31, 2024, the Company believes it has appropriately
accounted for any unrecognized tax benefits. To the extent the Company prevails in matters for which a liability for an unrecognized
benefit is established or is required to pay amounts in excess of the liability, the Company&#x2019;s effective tax rate in a given financial
statement period may be affected. Interest and penalties associated with the Company&#x2019;s tax positions are recorded as interest expense
in the consolidated statements of income and comprehensive income.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_84E_eus-gaap--ConcentrationRiskCreditRisk_zXevU6ME2ii7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(q)
&lt;i&gt;&lt;span id="xdx_86F_zyUg1q2tepSb"&gt;Risk Management&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s credit risk is primarily attributable to its accounts receivable. The amounts presented in the accompanying
consolidated balance sheets are net of allowances for doubtful accounts, estimated by the Company&#x2019;s management based on prior
experience and the current economic environment. The Company is exposed to credit-related losses in the event of non-payment by
customers. Credit exposure is minimized by dealing with only credit worthy counterparties. Revenue for the Company&#x2019;s three
primary customers totaled $&lt;span id="xdx_901_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zXtfA4Ilxdhj" title="Sales"&gt;5,106,905&lt;/span&gt;
(&lt;span id="xdx_90E_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20240101__20240331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z6o9MVeAEaAf" title="Accounts receivable, after allowance for credit loss"&gt;55&lt;/span&gt;%)
for the three months ended March 31, 2024 (2023 - $&lt;span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zOIpbbAj1jki" title="Sales"&gt;4,366,106&lt;/span&gt;
or &lt;span id="xdx_909_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20230331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zwLJYgdweEL3" title="Accounts receivable, after allowance for credit loss"&gt;44&lt;/span&gt;%).
Accounts receivable for the Company&#x2019;s three primary customers totaled $&lt;span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zTIOvE4qRz1i" title="Sale"&gt;7,843,766&lt;/span&gt;
(&lt;span id="xdx_90C_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20240101__20240331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z9QJ48EzRGSf" title="Accounts receivable, after allowance for credit loss, percentage"&gt;60&lt;/span&gt;%)
at March 31, 2024 (December 31, 2023 - $&lt;span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zBsoQR0MHaV2" title="Sale"&gt;6,561,164&lt;/span&gt;
or&lt;span id="xdx_90E_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zC6maiH32m3" title="Accounts receivable, after allowance for credit loss, percentage"&gt;
67&lt;/span&gt;%). See Note 4 for allowance for doubtful accounts, all unrelated to our primary customers.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
credit risk on cash is limited because the Company limits its exposure to credit loss by placing its cash with major financial institutions.
The Company maintains cash balances at financial institutions which at times exceed federally insured amounts. The Company has not experienced
any losses in such accounts.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company is exposed to foreign risk to the extent that market value rate fluctuations materially differ for financial assets and liabilities
denominated in foreign currencies.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
order to manage its exposure to foreign exchange risks, the Company closely monitors the fluctuations in the foreign currency exchange
rates and the impact on the value of cash, accounts receivable, and accounts payable and accrued liabilities. The Company has not hedged
its exposure to currency fluctuations.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company is exposed to interest rate risk to the extent that the fair value or future cash flows for financial liabilities will fluctuate
as a result of changes in market interest rates. The Company is exposed to interest rate risk on its long-term debt subject to fixed
long-term interest rates.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
order to manage its exposure to interest rate risk, the Company closely monitors fluctuations in market interest risks and will
refinance its long-term debt where possible to obtain more favourable rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




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

&lt;p id="xdx_84A_eus-gaap--EquityMethodInvestmentsPolicy_zD9r1eWisJqe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(r)
&lt;i&gt;&lt;span id="xdx_865_zEfI0AcDC6Uf"&gt;Equity Method Investment&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company accounts for investments using the equity method of accounting if the investment provides the Company the ability to exercise
significant influence, but not control, over the investee. &lt;span id="xdx_903_eus-gaap--EquityMethodInvestmentDescriptionOfPrincipalActivities_c20240101__20240331__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--InvestmentMember_zSjysWCo8ZS7" title="Equity method investment, description"&gt;Significant influence is generally deemed to exist if the Company&#x2019;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#x2019;s board of directors, are considered in determining whether the equity method of accounting is appropriate.&lt;/span&gt; Under
the equity method of accounting, the investment is initially recorded at cost in the consolidated balance sheets under other assets and
adjusted for dividends received and the Company&#x2019;s share of the investee&#x2019;s earnings or losses together with other-than-temporary
impairments which are recorded through other income (loss), net in the consolidated statements of operations and comprehensive income
(loss).&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_844_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zrp5Sd4hKgYe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(s)
&lt;i&gt;&lt;span id="xdx_86B_zhyyqDBoaIMf"&gt;Goodwill and Intangible Assets&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
represents the excess of the purchase price of an acquired entity over the amounts assigned to the assets acquired and liabilities assumed.
Goodwill is not amortized, but is reviewed for impairment annually or more frequently if certain impairment conditions arise. The Company
performs an annual goodwill impairment review in the fourth quarter of each year at the reporting unit level. The evaluation begins with
a qualitative assessment of the factors that could impact the significant inputs used to estimate fair value. If after performing the
qualitative assessment, it is determined that it is more likely than not that the fair value of a reporting unit is greater than its
carrying amount, including goodwill, then no further analysis is necessary. However, if the results of the qualitative test are unclear,
the Company performs a quantitative test, which involves comparing the fair value of a reporting unit with its carrying amount, including
goodwill. The Company uses an income-based valuation method, determining the present value of future cash flows, to estimate the fair
value of a reporting unit. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered
not impaired, and no further analysis is necessary. If the fair value of the reporting unit is less than its carrying amount, goodwill
impairment would be recognized equal to the amount of the carrying value in excess of the reporting unit&#x2019;s fair value, limited
to the total amount of goodwill allocated to the reporting unit.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Intangible
assets primarily include trademarks and trade secrets with indefinite lives and customer-relationships with finite lives. Intangible
assets with indefinite lives are not amortized but are tested for impairment on an annual basis, or more frequently if indicators of
impairment are present. Indefinite lived intangible assets are assessed using either a qualitative or a quantitative approach. The qualitative
assessment evaluates factors including macro-economic conditions, industry and company-specific factors, legal and regulatory environments,
and historical company performance in assessing fair value. If it is determined that it is more likely than not that the fair value of
the intangible asset is less than its carrying value, a quantitative test is then performed. Otherwise, no further testing is required.
When using a quantitative approach, the Company compares the fair value of the intangible asset to its carrying amount. If the estimated
fair value of the intangible asset is less than the carrying amount of the intangible asset, impairment is indicated, requiring recognition
of an impairment charge for the differential.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
accordance with FASB Codification Topic 350, &lt;i&gt;Intangibles &#x2013; Goodwill and Other, &lt;/i&gt;(ASC 350), qualitative assessments of goodwill
and indefinite-lived intangible assets were performed at December 31, 2023. Based on the results of the assessment, it was determined
that it is more likely than not the reporting unit, customer lists and trademarks had a fair value in excess of their carrying amounts.
Accordingly, no further impairment testing was completed and no impairment charges related to goodwill or indefinite-lived intangibles
were recognized during the three months ended March 31, 2024.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Finite-lived
intangible assets are amortized on a straight-line basis over their estimated useful lives. The Company reviews for impairment indicators
of finite-lived intangibles and other long-lived assets as described in the &#x201c;Impairment of Long Lived Assets&#x201d; significant
accounting policy.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_840_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zTaqRYX9b7W2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(t)
&lt;i&gt;&lt;span id="xdx_864_z6PfYdnSZJZg"&gt;Recent Accounting Pronouncements&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has implemented all applicable new accounting pronouncements that are in effect. Those pronouncements did not have any material
impact on the consolidated financial statements unless otherwise disclosed, and the Company does not believe that there are any other
new accounting pronouncements that have been issued that might have a material impact on its financial position or results of operations.&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_852_zRo5G4bUTgp1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




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

</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000555">&lt;p id="xdx_84D_eus-gaap--CashAndCashEquivalentsPolicyTextBlock_zHTXk8aYkmx9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(a)
&lt;i&gt;&lt;span id="xdx_86A_z6dF8Qxs1swb"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company considers all highly liquid investments purchased with an original or remaining maturity of less than three months at the date
of purchase to be cash equivalents. Cash and cash equivalents are maintained with several financial institutions. As of March 31, 2024 and December 31, 2023, the Company did not have any cash equivalents.&lt;/span&gt;&lt;/p&gt;

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

</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <FSI:TermDepositsPolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000557">&lt;p id="xdx_843_ecustom--TermDepositsPolicyTextBlock_z9J7cUtzKejl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(b)
&lt;i&gt;&lt;span id="xdx_86B_zw0LhRICKygl"&gt;Term Deposits&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has five term deposits that are maintained by commercials banks. The first term deposit is for $&lt;span id="xdx_907_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zjW7tTYZblB7"&gt;688,126&lt;/span&gt; and matures in April
2024. This deposit pays &lt;span id="xdx_900_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zJyZV2tESkWg"&gt;4.908&lt;/span&gt;% interest and if withdrawn before maturity, the greater of the loss of accrued interest or $&lt;span id="xdx_907_ecustom--MinimumInterestPenalty_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FirstTermMember_zFge2LU4rM4d" title="Minimum interest penalty"&gt;150&lt;/span&gt;, plus 1%
of the principal shall be levied. The second term deposit is for $&lt;span id="xdx_908_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zvCGdQWuYBre"&gt;303,954&lt;/span&gt; and matures in February 2025. This deposit pays &lt;span id="xdx_908_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--SecondTermMember_zdNW7mCGpH67"&gt;1.3&lt;/span&gt;% interest
and if withdrawn before maturity, a penalty may be applied. The third term deposit is for $&lt;span id="xdx_908_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zrUdSDwEu6Ei"&gt;720,982&lt;/span&gt;, matures in May 2024 and pays interest
at a rate of &lt;span id="xdx_90C_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zTeclXtsMsJa"&gt;3.00&lt;/span&gt;%. If withdrawn before maturity, the greater of the loss of accrued interest or $&lt;span id="xdx_903_ecustom--MinimumInterestPenalty_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--ThirdTermMember_zWyhnYx8Ex0f" title="Minimum interest penalty"&gt;150&lt;/span&gt;, plus 1% of the principal shall
be levied. The fourth term deposit is for $&lt;span id="xdx_902_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_z8aZ2heimwih"&gt;1,000,000&lt;/span&gt; and matures in May 2024. This deposit pays &lt;span id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zsEWLK0EApxh"&gt;3.85&lt;/span&gt;% and if withdrawn before maturity,
the greater of the loss of accrued interest or $&lt;span id="xdx_909_ecustom--MinimumInterestPenalty_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FourthTermMember_zREo996lFmVi" title="Minimum interest penalty"&gt;150&lt;/span&gt;, plus 1% of the principal shall be levied. The fifth term deposit is for $&lt;span id="xdx_900_eus-gaap--Deposits_iI_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FifthTermMember_zNAnmy2g2QK9"&gt;310,695&lt;/span&gt;,
matures in August 2024 and pays interest at a rate of &lt;span id="xdx_90A_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--ShortTermDebtTypeAxis__custom--FifthTermMember_zzWsQz3A3vE2" title="Interest rate"&gt;3.85&lt;/span&gt;%. If withdrawn before maturity, a penalty may be applied.&lt;/span&gt;&lt;/p&gt;

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

</FSI:TermDepositsPolicyTextBlock>
    <us-gaap:Deposits
      contextRef="AsOf2024-03-31_custom_FirstTermMember"
      decimals="0"
      id="Fact000558"
      unitRef="USD">688126</us-gaap:Deposits>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-03-31_custom_FirstTermMember"
      decimals="INF"
      id="Fact000559"
      unitRef="Pure">0.04908</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <FSI:MinimumInterestPenalty
      contextRef="AsOf2024-03-31_custom_FirstTermMember"
      decimals="0"
      id="Fact000561"
      unitRef="USD">150</FSI:MinimumInterestPenalty>
    <us-gaap:Deposits
      contextRef="AsOf2024-03-31_custom_SecondTermMember"
      decimals="0"
      id="Fact000562"
      unitRef="USD">303954</us-gaap:Deposits>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-03-31_custom_SecondTermMember"
      decimals="INF"
      id="Fact000563"
      unitRef="Pure">0.013</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:Deposits
      contextRef="AsOf2024-03-31_custom_ThirdTermMember"
      decimals="0"
      id="Fact000564"
      unitRef="USD">720982</us-gaap:Deposits>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-03-31_custom_ThirdTermMember"
      decimals="INF"
      id="Fact000565"
      unitRef="Pure">0.0300</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <FSI:MinimumInterestPenalty
      contextRef="AsOf2024-03-31_custom_ThirdTermMember"
      decimals="0"
      id="Fact000567"
      unitRef="USD">150</FSI:MinimumInterestPenalty>
    <us-gaap:Deposits
      contextRef="AsOf2024-03-31_custom_FourthTermMember"
      decimals="0"
      id="Fact000568"
      unitRef="USD">1000000</us-gaap:Deposits>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-03-31_custom_FourthTermMember"
      decimals="INF"
      id="Fact000569"
      unitRef="Pure">0.0385</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <FSI:MinimumInterestPenalty
      contextRef="AsOf2024-03-31_custom_FourthTermMember"
      decimals="0"
      id="Fact000571"
      unitRef="USD">150</FSI:MinimumInterestPenalty>
    <us-gaap:Deposits
      contextRef="AsOf2024-03-31_custom_FifthTermMember"
      decimals="0"
      id="Fact000572"
      unitRef="USD">310695</us-gaap:Deposits>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-03-31_custom_FifthTermMember"
      decimals="INF"
      id="Fact000574"
      unitRef="Pure">0.0385</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:InventoryPolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000576">&lt;p id="xdx_84B_eus-gaap--InventoryPolicyTextBlock_zcWe5KH5546a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(c)
&lt;i&gt;&lt;span id="xdx_86F_zFdvQHqpGkui"&gt;Inventories and Cost of Sales&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has three major classes of inventory: completed goods, work in progress and raw materials and supplies. In all classes inventories
are stated at the lower of cost or net realizable value. Cost is determined on a first-in, first-out basis or weighted average cost
formula to inventories in different subsidiaries. Cost of sales includes all expenditures incurred in bringing the goods to the point
of sale. Inventory costs and costs of sales include direct costs of the raw material, inbound freight charges, warehousing costs, handling
costs (receiving and purchasing) and utilities and overhead expenses related to the Company&#x2019;s manufacturing and processing facilities.
Shipping and handling charges billed to customers are included in revenue (2024 - $&lt;span id="xdx_906_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zG9KQZBHRvOf" title="Sales"&gt;128,289&lt;/span&gt;; 2023 - $&lt;span id="xdx_901_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_z81pX6BvSDl3" title="Sales"&gt;143,173&lt;/span&gt;). Shipping and handling costs
incurred are included in cost of goods sold (2024 - $&lt;span id="xdx_906_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20240101__20240331__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_zLLNHaoruwuk" title="Cost of sales"&gt;216,503&lt;/span&gt;; 2023 - $&lt;span id="xdx_908_eus-gaap--CostOfGoodsAndServicesSold_pp0p0_c20230101__20230331__srt--ProductOrServiceAxis__us-gaap--ShippingAndHandlingMember_z3CaYo37rZK7" title="Cost of sales"&gt;255,489&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

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




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

</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_us-gaap_ShippingAndHandlingMember"
      decimals="0"
      id="Fact000578"
      unitRef="USD">128289</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_us-gaap_ShippingAndHandlingMember"
      decimals="0"
      id="Fact000580"
      unitRef="USD">143173</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2024-01-012024-03-31_us-gaap_ShippingAndHandlingMember"
      decimals="0"
      id="Fact000582"
      unitRef="USD">216503</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="From2023-01-012023-03-31_us-gaap_ShippingAndHandlingMember"
      decimals="0"
      id="Fact000584"
      unitRef="USD">255489</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy contextRef="From2024-01-01to2024-03-31" id="Fact000586">&lt;p id="xdx_840_eus-gaap--PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy_z2Vq8K0PG0s4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(d)
&lt;i&gt;&lt;span id="xdx_867_zLQLDSH53vxj"&gt;Allowance for expected credit losses&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The Company&#x2019;s expected credit losses are determined through a review
using historical credit loss experience; changes in asset specific characteristics, current conditions, and reasonable and supportable
future forecasts, among other specific account data, and is performed at least quarterly. The company develops and documents its methodology
to determine its allowance for expected credit losses. Risk characteristics used by the Company may include customer mix, knowledge of
customers and general economic conditions of the various local economics, among others. Specific account balances are written off when
management determines the amounts to be uncollectible. Management has reviewed the balance reserved through the allowance for expected
losses and believes it is reasonable.&lt;/span&gt;&lt;/p&gt;

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

</us-gaap:PremiumsReceivableAllowanceForDoubtfulAccountsEstimationMethodologyPolicy>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000588">&lt;p id="xdx_842_eus-gaap--PropertyPlantAndEquipmentPolicyTextBlock_zZ07thJRLxEf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(e)
&lt;i&gt;&lt;span id="xdx_868_zPTF9WWoaN93"&gt;Property, Equipment, Leaseholds and Intangible Assets&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_896_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zP0elhHtTvL2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B4_zr2vNuEB9na1" style="display: none"&gt;SCHEDULE OF METHOD OF DEPRECIATION&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse; margin-left: 0.75in"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Manufacturing
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_900_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zrNSkPUGyK94" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Office
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zy6XWTFJvQWl" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Building
    and improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_901_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zCwcYMGFOJN3" title="Depreciation method used and annual rate"&gt;10%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Automobiles&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zLT8twLNlpB5" title="Depreciation method used and annual rate"&gt;Straight-line
    over 5 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Technology&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_z5KYl0x993Xj" title="Depreciation method used and annual rate"&gt;Straight-line
    over 10 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Leasehold
    improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zIdkrd8NP6Bc" title="Depreciation method used and annual rate"&gt;Straight-line
    over lease term&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Customer
    relationships &lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_z8lIP2E3Iqz6" title="Depreciation method used and annual rate"&gt;Straight-line
    over 15 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p id="xdx_8A5_zwBKFwCwlxmj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <FSI:ScheduleOfMethodOfDepreciationTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000590">&lt;p id="xdx_896_ecustom--ScheduleOfMethodOfDepreciationTableTextBlock_zP0elhHtTvL2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following assets are recorded at cost and depreciated using the methods and annual rates shown below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B4_zr2vNuEB9na1" style="display: none"&gt;SCHEDULE OF METHOD OF DEPRECIATION&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 80%; border-collapse: collapse; margin-left: 0.75in"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 2%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-top: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif; width: 49%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Manufacturing
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_900_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zrNSkPUGyK94" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Office
    equipment&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90F_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zy6XWTFJvQWl" title="Depreciation method used and annual rate"&gt;20%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Building
    and improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_901_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zCwcYMGFOJN3" title="Depreciation method used and annual rate"&gt;10%
    Declining balance&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Automobiles&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_903_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zLT8twLNlpB5" title="Depreciation method used and annual rate"&gt;Straight-line
    over 5 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Technology&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90D_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--TechnologyEquipmentMember_z5KYl0x993Xj" title="Depreciation method used and annual rate"&gt;Straight-line
    over 10 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Leasehold
    improvements&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_908_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zIdkrd8NP6Bc" title="Depreciation method used and annual rate"&gt;Straight-line
    over lease term&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Customer
    relationships &lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90E_ecustom--DepreciationMethodUsedAndAnnualRate_c20240101__20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--CustomerRelationshipsMember_z8lIP2E3Iqz6" title="Depreciation method used and annual rate"&gt;Straight-line
    over 15 years&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="border-bottom: black 1.5pt solid; font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
</FSI:ScheduleOfMethodOfDepreciationTableTextBlock>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2024-01-012024-03-31_us-gaap_MachineryAndEquipmentMember"
      id="Fact000592">20%
    Declining balance</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2024-01-012024-03-31_us-gaap_OfficeEquipmentMember"
      id="Fact000594">20%
    Declining balance</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2024-01-012024-03-31_us-gaap_BuildingAndBuildingImprovementsMember"
      id="Fact000596">10%
    Declining balance</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2024-01-012024-03-31_us-gaap_AutomobilesMember"
      id="Fact000598">Straight-line
    over 5 years</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2024-01-012024-03-31_us-gaap_TechnologyEquipmentMember"
      id="Fact000600">Straight-line
    over 10 years</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2024-01-012024-03-31_us-gaap_LeaseholdImprovementsMember"
      id="Fact000602">Straight-line
    over lease term</FSI:DepreciationMethodUsedAndAnnualRate>
    <FSI:DepreciationMethodUsedAndAnnualRate
      contextRef="From2024-01-012024-03-31_us-gaap_CustomerRelationshipsMember"
      id="Fact000604">Straight-line
    over 15 years</FSI:DepreciationMethodUsedAndAnnualRate>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000606">&lt;p id="xdx_848_eus-gaap--ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_zQYGruLzMeQ6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(f)
&lt;i&gt;&lt;span id="xdx_864_ziZkad3F28yi"&gt;Impairment of Long-Lived Assets&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
accordance with FASB Codification Topic 360, &lt;i&gt;Property, Plant and Equipment&lt;/i&gt; (ASC 360), the Company reviews long-lived assets, including,
but not limited to, property, equipment and leaseholds, patents and other assets, for impairment annually or whenever events or changes
in circumstances indicate the carrying amounts of assets may not be recoverable. The carrying value of long-lived assets is assessed
for impairment by evaluating operating performance and future undiscounted cash flows of the underlying assets. If the expected future
cash flows of an asset is less than its carrying value, an impairment measurement is indicated. Impairment charges are recorded to the
extent that an asset&#x2019;s carrying value exceeds its fair value. Accordingly, actual results could vary significantly from such estimates.
There were no impairment charges during the periods presented.&lt;/span&gt;&lt;/p&gt;

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

</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000608">&lt;p id="xdx_843_eus-gaap--ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_zuNUpO6r6H5l" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(g)
&lt;i&gt;&lt;span id="xdx_86E_zhVbRTvVPH1g"&gt;Foreign Currency&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
functional currency of the Company is the U.S. dollar. The functional currency of three of the Company&#x2019;s subsidiaries is the Canadian
dollar. The translation of the Canadian dollar to the reporting currency of the Company, the U.S. dollar, is performed for assets and
liabilities using exchange rates in effect at the balance sheet date. Revenue and expense transactions are translated using average exchange
rates prevailing during the year. Translation adjustments arising on conversion of the Company&#x2019;s financial statements from the
subsidiary&#x2019;s functional currency, Canadian dollars, into the reporting currency, U.S. dollars, are excluded from the determination
of income (loss) and are disclosed as other comprehensive income in the consolidated statements of income and comprehensive income.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Foreign
exchange gains and losses relating to transactions not denominated in the applicable local currency are included in operating income
(loss) if realized during the year and in comprehensive income (loss) if they remain unrealized at the end of the year.&lt;/span&gt;&lt;/p&gt;

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

</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000610">&lt;p id="xdx_840_eus-gaap--RevenueFromContractWithCustomerPolicyTextBlock_zzH6m8ktZcy2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(h)
&lt;i&gt;&lt;span id="xdx_86D_zpC7ZURbKYi8"&gt;Revenue Recognition&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company generates revenue primarily from energy and water conservation products and biodegradable polymers, as further discussed in Note
15.&lt;/span&gt;&lt;/p&gt;

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




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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company follows a five-step model for revenue recognition. The five steps are: (1) identification of the contract(s) with the customer,
(2) identification of the performance obligation(s) in the contract(s), (3) determination of the transaction price, (4) allocation of
the transaction price to the performance obligation, and (5) recognition of revenue when (or as) the performance obligation is satisfied.
The Company has fulfilled its performance obligations when control transfers to the customer, which is generally at the time the product
is shipped since risk of loss is transferred to the purchaser upon delivery to the carrier. For shipments which are free-on-board shipping
point, the Company has elected to account for shipping and handling activities as a fulfillment cost rather than as an additional promised
service and performance obligation.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Since
the Company&#x2019;s inception, product returns have been insignificant; therefore, no provision has been established for estimated product
returns.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Deferred
revenues consist of products sold to distributors with payment terms greater than the Company&#x2019;s customary business terms due to
lack of credit history or operating in a new market in which the Company has no prior experience. The Company defers the recognition
of revenue until the criteria for revenue recognition has been met and payments become due or cash is received from these distributors.&lt;/span&gt;&lt;/p&gt;

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

</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <FSI:StockIssuedInExchangeForServicesPolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000612">&lt;p id="xdx_84E_ecustom--StockIssuedInExchangeForServicesPolicyTextBlock_zkOwr6D3SyP9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(i)
&lt;i&gt;&lt;span id="xdx_86A_z8bcJq9ovuhi"&gt;Stock Issued in Exchange for Services&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s common stock issued in exchange for services is valued at estimated fair market value based upon trading prices of the
Company&#x2019;s common stock on the dates of the stock transactions. The corresponding expense of the services rendered is recognized
over the period that the services are performed.&lt;/span&gt;&lt;/p&gt;

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

</FSI:StockIssuedInExchangeForServicesPolicyTextBlock>
    <us-gaap:CompensationRelatedCostsPolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000614">&lt;p id="xdx_847_eus-gaap--CompensationRelatedCostsPolicyTextBlock_zyRTn9ZOSlbd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(j)
&lt;i&gt;&lt;span id="xdx_86F_zf9PYjuEMVua"&gt;Stock-based Compensation&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company recognizes compensation expense for all share-based payments in accordance with FASB Codification Topic 718, &lt;i&gt;Compensation
&#x2014; Stock Compensation&lt;/i&gt; (ASC 718). Under the fair value recognition provisions of ASC 718, the Company recognizes share-based
compensation expense, net of an estimated forfeiture rate, over the requisite service period of the award.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair value at grant date of stock options is estimated using the Black-Scholes option-pricing model. Compensation expense is recognized
on a straight-line basis over the stock option vesting period based on the estimated number of stock options that are expected to vest.
Shares are issued from treasury upon exercise of stock options.&lt;/span&gt;&lt;/p&gt;

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

</us-gaap:CompensationRelatedCostsPolicyTextBlock>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000616">&lt;p id="xdx_849_eus-gaap--ComprehensiveIncomePolicyPolicyTextBlock_z4oyBN3P66v2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(k)
&lt;i&gt;&lt;span id="xdx_868_zWtfzOG52hXk"&gt;Other Comprehensive Income&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Other
comprehensive income refers to revenues, expenses, gains and losses that under generally accepted accounting principles are included
in comprehensive income, but are excluded from net income as these amounts are recorded directly as an adjustment to stockholders&#x2019;
equity. The Company&#x2019;s other comprehensive income is comprised only of unrealized foreign exchange gains and losses related to the
translation of subsidiaries&#x2019; functional currency into the reporting currency.&lt;/span&gt;&lt;/p&gt;

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

</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000618">&lt;p id="xdx_843_eus-gaap--EarningsPerSharePolicyTextBlock_zVGbBHhaFMcf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(l)
&lt;i&gt;&lt;span id="xdx_866_zuW2leEvzjda"&gt;Income Per Share&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Basic
earnings per share is computed by dividing income available to common stockholders by the weighted average number of common shares outstanding
in the period. Diluted earnings per share are calculated giving effect to the potential dilution of the exercise of options and warrants.
Common equivalent shares, composed of incremental common shares issuable upon the exercise of stock options and warrants are included
in diluted net income per share to the extent that these shares are dilutive. Common equivalent shares that have an anti-dilutive effect
on net income per share have been excluded from the calculation of diluted weighted average shares outstanding for the three months ended
March 31, 2024 and 2023.&lt;/span&gt;&lt;/p&gt;

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




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

</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:UseOfEstimates contextRef="From2024-01-01to2024-03-31" id="Fact000620">&lt;p id="xdx_848_eus-gaap--UseOfEstimates_zwun4of7g4H1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(m)
&lt;i&gt;&lt;span id="xdx_863_z2kbFklKh1I9"&gt;Use of Estimates&lt;/span&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States requires
management to make estimates and assumptions that affect the reported amounts of assets and liabilities at the date of the consolidated
financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from
those estimates and would impact the results of operations and cash flows.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 35.45pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Estimates
and underlying assumptions are reviewed at each period end. Revisions to accounting estimates are recognized in the period in which the
estimates are revised and in any future periods affected.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Significant
areas requiring the use of management estimates include assumptions and estimates relating to the valuation of goodwill and intangible
assets, valuation of assets acquired at fair value, asset impairment analysis, share-based payments, valuation allowances for deferred
income tax assets, determination of useful lives of property, equipment and leaseholds and intangible assets, recoverability of accounts
receivable, recoverability of investments, discount rates for right of use assets and the costing and recoverable value of inventory.&lt;/span&gt;&lt;/p&gt;

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

</us-gaap:UseOfEstimates>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy contextRef="From2024-01-01to2024-03-31" id="Fact000622">&lt;p id="xdx_84B_eus-gaap--FairValueOfFinancialInstrumentsPolicy_zoev4b7Wg4eh" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(n)
&lt;i&gt;&lt;span id="xdx_869_zjwkw1v9GFui"&gt;Fair Value of Financial Instruments&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Fair
value is defined as the exchange price that would be received for an asset or paid to transfer a liability (an exit price) in the principal
or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.
Valuation techniques used to measure fair value must maximize the use of observable inputs and minimize the use of unobservable inputs.
The standard describes a fair value hierarchy based on three levels of inputs described below, of which the first two are considered
observable and the last unobservable, that may be used to measure fair value.&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    1 &#x2013; Quoted prices in active markets for identical assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    2 &#x2013; Inputs other than Level 1 that are observable, either directly or indirectly, such as quoted prices for similar assets
    or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable
    market data for substantially the full term of the assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Level
    3 &#x2014; Unobservable inputs that are supported by little or no market activity which is significant to the fair value of the assets
    or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair values of cash, term deposits, accounts receivable, accounts payable, accrued liabilities and the short term line of credit for
all periods presented approximate their respective carrying amounts due to the short term nature of these financial instruments.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair value of the long term debt and lease liabilities for all periods presented approximate their respective carrying amounts due to
these financial instruments being at market rates.&lt;/span&gt;&lt;/p&gt;

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

</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:CommitmentsAndContingenciesPolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000624">&lt;p id="xdx_84B_eus-gaap--CommitmentsAndContingenciesPolicyTextBlock_zg2ZTRJRVm1c" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(o)
&lt;i&gt;&lt;span id="xdx_863_zlwP3hsVBn16"&gt;Contingencies&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Certain
conditions may exist as of the date the consolidated financial statements are issued which may result in a loss to the Company but which
will only be resolved when one or more future events occur or fail to occur. The Company&#x2019;s management and its legal counsel assess
such contingent liabilities, and such assessment inherently involves an exercise of judgment. In assessing loss contingencies related
to legal proceedings that are pending against the Company or unasserted claims that may result in such proceedings, the Company&#x2019;s
legal counsel evaluates the perceived merits of any legal proceedings or unasserted claims as well as the perceived merits of the amount
of relief sought or expected to be sought therein.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;If
the assessment of a contingency indicates that it is probable that a material loss has been incurred and the amount of the liability
can be estimated, the estimated liability would be accrued in the Company&#x2019;s consolidated financial statements. If the assessment
indicates that a potential material loss contingency is not probable, but is reasonably possible, or is probable but cannot be estimated,
then the nature of the contingent liability, together with an estimate of the range of possible loss if determinable and material, would
be disclosed.&lt;/span&gt;&lt;/p&gt;

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




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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Loss
contingencies considered remote are generally not disclosed unless they involve guarantees, in which case the guarantees would be disclosed.
Legal fees associated with loss contingencies are expensed as incurred. The Company is not aware of any contingencies at the date of
these consolidated financial statements.&lt;/span&gt;&lt;/p&gt;

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

</us-gaap:CommitmentsAndContingenciesPolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000626">&lt;p id="xdx_84E_eus-gaap--IncomeTaxPolicyTextBlock_zyUBcqtmPd85" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(p)
&lt;i&gt;&lt;span id="xdx_862_zhJmdPOPoRG5"&gt;Income Taxes&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Income
taxes are computed by multiplying the Company&#x2019;s taxable net income by the Company&#x2019;s effective tax rates. Deferred income
tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial
statement carrying amounts of existing assets and liabilities and their respective tax bases, and operating loss carry-forwards, if any.
Deferred income tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which
those temporary differences are expected to be recovered or settled. The effect on deferred income tax assets and liabilities of a change
in tax rates is recognized in income in the period that includes the enactment date. A valuation allowance is provided to reduce the
carrying amount of deferred income tax assets if it is considered more likely than not that some portion, or all, of the deferred income
tax assets will not be realized.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
accordance with FASB Codification Topic 740, &lt;i&gt;Income taxes&lt;/i&gt; (ASC 740) under the liability method, it is the Company&#x2019;s policy
to provide for uncertain tax positions and the related interest and penalties based upon management&#x2019;s assessment of whether a tax
benefit is more likely than not to be sustained upon examination by tax authorities. At March 31, 2024, the Company believes it has appropriately
accounted for any unrecognized tax benefits. To the extent the Company prevails in matters for which a liability for an unrecognized
benefit is established or is required to pay amounts in excess of the liability, the Company&#x2019;s effective tax rate in a given financial
statement period may be affected. Interest and penalties associated with the Company&#x2019;s tax positions are recorded as interest expense
in the consolidated statements of income and comprehensive income.&lt;/span&gt;&lt;/p&gt;

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

</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="From2024-01-01to2024-03-31" id="Fact000628">&lt;p id="xdx_84E_eus-gaap--ConcentrationRiskCreditRisk_zXevU6ME2ii7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(q)
&lt;i&gt;&lt;span id="xdx_86F_zyUg1q2tepSb"&gt;Risk Management&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s credit risk is primarily attributable to its accounts receivable. The amounts presented in the accompanying
consolidated balance sheets are net of allowances for doubtful accounts, estimated by the Company&#x2019;s management based on prior
experience and the current economic environment. The Company is exposed to credit-related losses in the event of non-payment by
customers. Credit exposure is minimized by dealing with only credit worthy counterparties. Revenue for the Company&#x2019;s three
primary customers totaled $&lt;span id="xdx_901_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zXtfA4Ilxdhj" title="Sales"&gt;5,106,905&lt;/span&gt;
(&lt;span id="xdx_90E_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20240101__20240331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_z6o9MVeAEaAf" title="Accounts receivable, after allowance for credit loss"&gt;55&lt;/span&gt;%)
for the three months ended March 31, 2024 (2023 - $&lt;span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20230331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zOIpbbAj1jki" title="Sales"&gt;4,366,106&lt;/span&gt;
or &lt;span id="xdx_909_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20230331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember_zwLJYgdweEL3" title="Accounts receivable, after allowance for credit loss"&gt;44&lt;/span&gt;%).
Accounts receivable for the Company&#x2019;s three primary customers totaled $&lt;span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20240101__20240331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zTIOvE4qRz1i" title="Sale"&gt;7,843,766&lt;/span&gt;
(&lt;span id="xdx_90C_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20240101__20240331__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_z9QJ48EzRGSf" title="Accounts receivable, after allowance for credit loss, percentage"&gt;60&lt;/span&gt;%)
at March 31, 2024 (December 31, 2023 - $&lt;span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zBsoQR0MHaV2" title="Sale"&gt;6,561,164&lt;/span&gt;
or&lt;span id="xdx_90E_ecustom--ConcentrationRiskThresholdPercentage_pid_dp_uPure_c20230101__20231231__us-gaap--ConcentrationRiskByTypeAxis__custom--ThreePrimaryCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zC6maiH32m3" title="Accounts receivable, after allowance for credit loss, percentage"&gt;
67&lt;/span&gt;%). See Note 4 for allowance for doubtful accounts, all unrelated to our primary customers.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
credit risk on cash is limited because the Company limits its exposure to credit loss by placing its cash with major financial institutions.
The Company maintains cash balances at financial institutions which at times exceed federally insured amounts. The Company has not experienced
any losses in such accounts.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company is exposed to foreign risk to the extent that market value rate fluctuations materially differ for financial assets and liabilities
denominated in foreign currencies.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
order to manage its exposure to foreign exchange risks, the Company closely monitors the fluctuations in the foreign currency exchange
rates and the impact on the value of cash, accounts receivable, and accounts payable and accrued liabilities. The Company has not hedged
its exposure to currency fluctuations.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company is exposed to interest rate risk to the extent that the fair value or future cash flows for financial liabilities will fluctuate
as a result of changes in market interest rates. The Company is exposed to interest rate risk on its long-term debt subject to fixed
long-term interest rates.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
order to manage its exposure to interest rate risk, the Company closely monitors fluctuations in market interest risks and will
refinance its long-term debt where possible to obtain more favourable rates.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; background-color: white"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




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

</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember"
      decimals="0"
      id="Fact000630"
      unitRef="USD">5106905</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2024-01-012024-03-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember"
      decimals="INF"
      id="Fact000632"
      unitRef="Pure">0.55</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember"
      decimals="0"
      id="Fact000634"
      unitRef="USD">4366106</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2023-01-012023-03-31_custom_ThreePrimaryCustomersMember_us-gaap_RevenueFromContractWithCustomerMember"
      decimals="INF"
      id="Fact000636"
      unitRef="Pure">0.44</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="0"
      id="Fact000638"
      unitRef="USD">7843766</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2024-01-012024-03-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      id="Fact000640"
      unitRef="Pure">0.60</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="0"
      id="Fact000642"
      unitRef="USD">6561164</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <FSI:ConcentrationRiskThresholdPercentage
      contextRef="From2023-01-012023-12-31_custom_ThreePrimaryCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      id="Fact000644"
      unitRef="Pure">0.67</FSI:ConcentrationRiskThresholdPercentage>
    <us-gaap:EquityMethodInvestmentsPolicy contextRef="From2024-01-01to2024-03-31" id="Fact000646">&lt;p id="xdx_84A_eus-gaap--EquityMethodInvestmentsPolicy_zD9r1eWisJqe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(r)
&lt;i&gt;&lt;span id="xdx_865_zEfI0AcDC6Uf"&gt;Equity Method Investment&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company accounts for investments using the equity method of accounting if the investment provides the Company the ability to exercise
significant influence, but not control, over the investee. &lt;span id="xdx_903_eus-gaap--EquityMethodInvestmentDescriptionOfPrincipalActivities_c20240101__20240331__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--InvestmentMember_zSjysWCo8ZS7" title="Equity method investment, description"&gt;Significant influence is generally deemed to exist if the Company&#x2019;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#x2019;s board of directors, are considered in determining whether the equity method of accounting is appropriate.&lt;/span&gt; Under
the equity method of accounting, the investment is initially recorded at cost in the consolidated balance sheets under other assets and
adjusted for dividends received and the Company&#x2019;s share of the investee&#x2019;s earnings or losses together with other-than-temporary
impairments which are recorded through other income (loss), net in the consolidated statements of operations and comprehensive income
(loss).&lt;/span&gt;&lt;/p&gt;

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

</us-gaap:EquityMethodInvestmentsPolicy>
    <us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities
      contextRef="From2024-01-012024-03-31_custom_InvestmentMember"
      id="Fact000648">Significant influence is generally deemed to exist if the Company&#x2019;s
ownership interest in the voting stock of the investee ranges between 20% and 50%, although other factors, such as representation on
the investee&#x2019;s board of directors, are considered in determining whether the equity method of accounting is appropriate.</us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000650">&lt;p id="xdx_844_eus-gaap--GoodwillAndIntangibleAssetsPolicyTextBlock_zrp5Sd4hKgYe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(s)
&lt;i&gt;&lt;span id="xdx_86B_zhyyqDBoaIMf"&gt;Goodwill and Intangible Assets&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
represents the excess of the purchase price of an acquired entity over the amounts assigned to the assets acquired and liabilities assumed.
Goodwill is not amortized, but is reviewed for impairment annually or more frequently if certain impairment conditions arise. The Company
performs an annual goodwill impairment review in the fourth quarter of each year at the reporting unit level. The evaluation begins with
a qualitative assessment of the factors that could impact the significant inputs used to estimate fair value. If after performing the
qualitative assessment, it is determined that it is more likely than not that the fair value of a reporting unit is greater than its
carrying amount, including goodwill, then no further analysis is necessary. However, if the results of the qualitative test are unclear,
the Company performs a quantitative test, which involves comparing the fair value of a reporting unit with its carrying amount, including
goodwill. The Company uses an income-based valuation method, determining the present value of future cash flows, to estimate the fair
value of a reporting unit. If the fair value of a reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered
not impaired, and no further analysis is necessary. If the fair value of the reporting unit is less than its carrying amount, goodwill
impairment would be recognized equal to the amount of the carrying value in excess of the reporting unit&#x2019;s fair value, limited
to the total amount of goodwill allocated to the reporting unit.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Intangible
assets primarily include trademarks and trade secrets with indefinite lives and customer-relationships with finite lives. Intangible
assets with indefinite lives are not amortized but are tested for impairment on an annual basis, or more frequently if indicators of
impairment are present. Indefinite lived intangible assets are assessed using either a qualitative or a quantitative approach. The qualitative
assessment evaluates factors including macro-economic conditions, industry and company-specific factors, legal and regulatory environments,
and historical company performance in assessing fair value. If it is determined that it is more likely than not that the fair value of
the intangible asset is less than its carrying value, a quantitative test is then performed. Otherwise, no further testing is required.
When using a quantitative approach, the Company compares the fair value of the intangible asset to its carrying amount. If the estimated
fair value of the intangible asset is less than the carrying amount of the intangible asset, impairment is indicated, requiring recognition
of an impairment charge for the differential.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
accordance with FASB Codification Topic 350, &lt;i&gt;Intangibles &#x2013; Goodwill and Other, &lt;/i&gt;(ASC 350), qualitative assessments of goodwill
and indefinite-lived intangible assets were performed at December 31, 2023. Based on the results of the assessment, it was determined
that it is more likely than not the reporting unit, customer lists and trademarks had a fair value in excess of their carrying amounts.
Accordingly, no further impairment testing was completed and no impairment charges related to goodwill or indefinite-lived intangibles
were recognized during the three months ended March 31, 2024.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Finite-lived
intangible assets are amortized on a straight-line basis over their estimated useful lives. The Company reviews for impairment indicators
of finite-lived intangibles and other long-lived assets as described in the &#x201c;Impairment of Long Lived Assets&#x201d; significant
accounting policy.&lt;/span&gt;&lt;/p&gt;

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

</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000652">&lt;p id="xdx_840_eus-gaap--NewAccountingPronouncementsPolicyPolicyTextBlock_zTaqRYX9b7W2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(t)
&lt;i&gt;&lt;span id="xdx_864_z6PfYdnSZJZg"&gt;Recent Accounting Pronouncements&lt;/span&gt;.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has implemented all applicable new accounting pronouncements that are in effect. Those pronouncements did not have any material
impact on the consolidated financial statements unless otherwise disclosed, and the Company does not believe that there are any other
new accounting pronouncements that have been issued that might have a material impact on its financial position or results of operations.&lt;/span&gt;&lt;/p&gt;

</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:LesseeOperatingLeasesTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000654">&lt;p id="xdx_80C_eus-gaap--LesseeOperatingLeasesTextBlock_zoTy3753qEm2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;3.
&lt;span id="xdx_821_zC4SSi3JeJB6"&gt;LEASES&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Leases
are evaluated and classified as either operating or finance leases by the lessee and as either operating, sales-type or direct financing
leases by the lessor. For leases with terms greater than 12 months, the Company records the related right-of-use (&#x201c;ROU&#x201d;)
asset and lease obligation at the present value of lease payments over the term. Leases may include fixed rental escalation clauses,
renewal options and / or termination options that are factored into the determination of lease payments when appropriate. The Company&#x2019;s
operating leases are included in ROU assets, lease liabilities-current portion and lease liability-long term portion in the accompanying
consolidated balance sheets. ROU assets represent the Company&#x2019;s right to use an underlying asset for the lease term, and lease
liabilities represent the obligation to make lease payments arising from the lease. The Company&#x2019;s leases do not usually provide
a readily determinable implicit rate; therefore, an estimate of the Company&#x2019;s incremental borrowing rate is used to discount the
lease payments based on information available at the lease commencement date. The discount rate used was &lt;span id="xdx_909_eus-gaap--LesseeOperatingLeaseDiscountRate_iI_pid_dp_uPure_c20240331_zqc74eEb5ufi" title="Operating leases discount rate"&gt;5.5&lt;/span&gt;%.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_894_ecustom--SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_zsSpCTbKYj82" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
March 2024, the Company consolidated NanoChem operations into the Peril, IL locations and terminated the lease in Naperville, IL.
The Company had to pay a penalty of $&lt;span id="xdx_90F_eus-gaap--OperatingLeaseLeaseIncomeLeasePayments_c20240101__20240331_zgz1VpLPilSg" title="Payment of penalty"&gt;35,910&lt;/span&gt;
and forfeited the $&lt;span id="xdx_906_eus-gaap--SecurityDeposit_iI_c20240331_zcckKAtE4Ov4" title="Security deposit"&gt;5,440&lt;/span&gt; security deposit to terminate the lease early and incurred a loss of $&lt;span id="xdx_908_eus-gaap--GainLossOnTerminationOfLease_iN_di_c20240101__20240331_ztPGBT1Zs9Qf" title="Loss on terminating lease"&gt;41,350&lt;/span&gt;
on early termination of the lease. The table below summarizes the right-of-use asset and lease liability for the periods ended March
31, 2024 and December 31, 2023.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B0_zmkB5qLPhHA6" style="display: none"&gt;SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-decoration: underline; font-weight: bold; text-align: left"&gt;Right of Use Assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 80%"&gt;Balance at December 31, 2022&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20230101__20231231_zYC4ZP0Bdm35" style="width: 16%; text-align: right" title="Right of use assets, beginning balance"&gt;167,222&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20230101__20231231_zhgb6w3Pkk7h" style="border-bottom: Black 1.5pt solid; text-align: right" title="Depreciation"&gt;(51,929&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance at December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20240101__20240331_zgdtTqmrmsX" style="text-align: right" title="Right of use assets, beginning balance"&gt;115,293&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Depreciation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20240101__20240331_zZF8EBsIhQC9" style="text-align: right" title="Depreciation"&gt;(13,694&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Early termination of lease&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_ecustom--OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_iN_pp0p0_di_c20240101__20240331_zFwDEgAfn5nc" style="border-bottom: Black 1.5pt solid; text-align: right" title="Right of use assets, early termination of lease"&gt;(101,599&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance at March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--OperatingLeaseRightOfUseAsset_iE_pp0p0_c20240101__20240331_zwWLzyppwcHl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Right of use assets, ending balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0676"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-decoration: underline; font-weight: bold; text-align: left"&gt;Lease Liability&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance at December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20230101__20231231_zcSBRJuI75Kk" style="text-align: right" title="Lease liability, beginning balance"&gt;167,222&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Lease interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--LeaseInterestExpense_pp0p0_c20230101__20231231_zj67bxoJPii" style="text-align: right" title="Lease interest expense"&gt;6,151&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Payments&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20230101__20231231_zAde8F1VAwd4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Payments"&gt;(58,080&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance at December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20240101__20240331_zyxcnXpTPGsg" style="text-align: right" title="Lease liability, beginning balance"&gt;115,293&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Lease interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--LeaseInterestExpense_pp0p0_c20240101__20240331_zKAtcOFsKGy7" style="text-align: right" title="Lease interest expense"&gt;1,186&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Payments&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20240101__20240331_ziaIVBZrflfd" style="text-align: right" title="Payments"&gt;(14,880&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Early termination of lease&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_ecustom--OperatingLeaseLiabilityEarlyTerminationOfLease_iN_pp0p0_di_c20240101__20240331_zGtrZxzbp0zj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Lease liability, early termination of lease"&gt;(101,599&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance at March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--OperatingLeaseLiability_iE_pp0p0_c20240101__20240331_zw7hddC1nyt8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Lease liability, ending balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0692"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A5_zS1vIHyFpwjl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseDiscountRate
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact000656"
      unitRef="Pure">0.055</us-gaap:LesseeOperatingLeaseDiscountRate>
    <FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000658">&lt;p id="xdx_894_ecustom--SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock_zsSpCTbKYj82" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
March 2024, the Company consolidated NanoChem operations into the Peril, IL locations and terminated the lease in Naperville, IL.
The Company had to pay a penalty of $&lt;span id="xdx_90F_eus-gaap--OperatingLeaseLeaseIncomeLeasePayments_c20240101__20240331_zgz1VpLPilSg" title="Payment of penalty"&gt;35,910&lt;/span&gt;
and forfeited the $&lt;span id="xdx_906_eus-gaap--SecurityDeposit_iI_c20240331_zcckKAtE4Ov4" title="Security deposit"&gt;5,440&lt;/span&gt; security deposit to terminate the lease early and incurred a loss of $&lt;span id="xdx_908_eus-gaap--GainLossOnTerminationOfLease_iN_di_c20240101__20240331_ztPGBT1Zs9Qf" title="Loss on terminating lease"&gt;41,350&lt;/span&gt;
on early termination of the lease. The table below summarizes the right-of-use asset and lease liability for the periods ended March
31, 2024 and December 31, 2023.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B0_zmkB5qLPhHA6" style="display: none"&gt;SUMMARY OF RIGHT-OF-USE ASSET AND LEASE LIABILITY&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-decoration: underline; font-weight: bold; text-align: left"&gt;Right of Use Assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 80%"&gt;Balance at December 31, 2022&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20230101__20231231_zYC4ZP0Bdm35" style="width: 16%; text-align: right" title="Right of use assets, beginning balance"&gt;167,222&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20230101__20231231_zhgb6w3Pkk7h" style="border-bottom: Black 1.5pt solid; text-align: right" title="Depreciation"&gt;(51,929&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance at December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--OperatingLeaseRightOfUseAsset_iS_pp0p0_c20240101__20240331_zgdtTqmrmsX" style="text-align: right" title="Right of use assets, beginning balance"&gt;115,293&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Depreciation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_pp0p0_di_c20240101__20240331_zZF8EBsIhQC9" style="text-align: right" title="Depreciation"&gt;(13,694&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Early termination of lease&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_ecustom--OperatingLeaseRightOfUseAssetEarlyTerminationOfLease_iN_pp0p0_di_c20240101__20240331_zFwDEgAfn5nc" style="border-bottom: Black 1.5pt solid; text-align: right" title="Right of use assets, early termination of lease"&gt;(101,599&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance at March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--OperatingLeaseRightOfUseAsset_iE_pp0p0_c20240101__20240331_zwWLzyppwcHl" style="border-bottom: Black 1.5pt solid; text-align: right" title="Right of use assets, ending balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0676"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-decoration: underline; font-weight: bold; text-align: left"&gt;Lease Liability&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance at December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20230101__20231231_zcSBRJuI75Kk" style="text-align: right" title="Lease liability, beginning balance"&gt;167,222&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Lease interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--LeaseInterestExpense_pp0p0_c20230101__20231231_zj67bxoJPii" style="text-align: right" title="Lease interest expense"&gt;6,151&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Payments&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20230101__20231231_zAde8F1VAwd4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Payments"&gt;(58,080&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance at December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--OperatingLeaseLiability_iS_pp0p0_c20240101__20240331_zyxcnXpTPGsg" style="text-align: right" title="Lease liability, beginning balance"&gt;115,293&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Lease interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_988_ecustom--LeaseInterestExpense_pp0p0_c20240101__20240331_zKAtcOFsKGy7" style="text-align: right" title="Lease interest expense"&gt;1,186&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Payments&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--OperatingLeasePayments_iN_pp0p0_di_c20240101__20240331_ziaIVBZrflfd" style="text-align: right" title="Payments"&gt;(14,880&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Early termination of lease&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_ecustom--OperatingLeaseLiabilityEarlyTerminationOfLease_iN_pp0p0_di_c20240101__20240331_zGtrZxzbp0zj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Lease liability, early termination of lease"&gt;(101,599&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance at March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--OperatingLeaseLiability_iE_pp0p0_c20240101__20240331_zw7hddC1nyt8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Lease liability, ending balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0692"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</FSI:SummaryOfRightofuseAssetAndLeaseLiabilityTableTextBlock>
    <us-gaap:OperatingLeaseLeaseIncomeLeasePayments
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000660"
      unitRef="USD">35910</us-gaap:OperatingLeaseLeaseIncomeLeasePayments>
    <us-gaap:SecurityDeposit
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000662"
      unitRef="USD">5440</us-gaap:SecurityDeposit>
    <us-gaap:GainLossOnTerminationOfLease
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000664"
      unitRef="USD">-41350</us-gaap:GainLossOnTerminationOfLease>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000666"
      unitRef="USD">167222</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000668"
      unitRef="USD">51929</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000670"
      unitRef="USD">115293</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000672"
      unitRef="USD">13694</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <FSI:OperatingLeaseRightOfUseAssetEarlyTerminationOfLease
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000674"
      unitRef="USD">101599</FSI:OperatingLeaseRightOfUseAssetEarlyTerminationOfLease>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000678"
      unitRef="USD">167222</us-gaap:OperatingLeaseLiability>
    <FSI:LeaseInterestExpense
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000680"
      unitRef="USD">6151</FSI:LeaseInterestExpense>
    <us-gaap:OperatingLeasePayments
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000682"
      unitRef="USD">58080</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000684"
      unitRef="USD">115293</us-gaap:OperatingLeaseLiability>
    <FSI:LeaseInterestExpense
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000686"
      unitRef="USD">1186</FSI:LeaseInterestExpense>
    <us-gaap:OperatingLeasePayments
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000688"
      unitRef="USD">14880</us-gaap:OperatingLeasePayments>
    <FSI:OperatingLeaseLiabilityEarlyTerminationOfLease
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000690"
      unitRef="USD">101599</FSI:OperatingLeaseLiabilityEarlyTerminationOfLease>
    <us-gaap:FinancingReceivablesTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000694">&lt;p id="xdx_808_eus-gaap--FinancingReceivablesTextBlock_zdYu2iZsVFP7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;4.
&lt;span id="xdx_824_zD95rNBnXMfb"&gt;ACCOUNTS RECEIVABLE &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_893_eus-gaap--AccountsReceivableAllowanceForCreditLossTableTextBlock_z6rjEeGuPf59" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B6_zrx4DFK8wUQ" style="display: none"&gt;SCHEDULE OF ACCOUNTS RECEIVABLE&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20240331_zivVqGBIYXml" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;March 31, 2024&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20231231_zjwM8ZZCa9Va" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--AccountsReceivableGross_iI_pp0p0_maAANRNzPjC_zAfCaBm4DgJ9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Accounts receivable&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;13,281,820&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;10,133,249&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_iNI_pp0p0_di_msAANRNzPjC_zthV146lLqYe" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Allowances for doubtful accounts&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(289,277&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(290,193&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--AccountsAndNotesReceivableNet_iTI_pp0p0_mtAANRNzPjC_z6hpFZ6ndfNa" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;12,992,543&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;9,843,056&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AB_zoHZVX5mkBT8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:FinancingReceivablesTextBlock>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000696">&lt;p id="xdx_893_eus-gaap--AccountsReceivableAllowanceForCreditLossTableTextBlock_z6rjEeGuPf59" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B6_zrx4DFK8wUQ" style="display: none"&gt;SCHEDULE OF ACCOUNTS RECEIVABLE&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20240331_zivVqGBIYXml" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;March 31, 2024&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20231231_zjwM8ZZCa9Va" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--AccountsReceivableGross_iI_pp0p0_maAANRNzPjC_zAfCaBm4DgJ9" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Accounts receivable&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;13,281,820&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;10,133,249&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables_iNI_pp0p0_di_msAANRNzPjC_zthV146lLqYe" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Allowances for doubtful accounts&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(289,277&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(290,193&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--AccountsAndNotesReceivableNet_iTI_pp0p0_mtAANRNzPjC_z6hpFZ6ndfNa" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;12,992,543&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;9,843,056&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AccountsReceivableGross
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000698"
      unitRef="USD">13281820</us-gaap:AccountsReceivableGross>
    <us-gaap:AccountsReceivableGross
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000699"
      unitRef="USD">10133249</us-gaap:AccountsReceivableGross>
    <us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000701"
      unitRef="USD">289277</us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables>
    <us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000702"
      unitRef="USD">290193</us-gaap:AllowanceForDoubtfulAccountsPremiumsAndOtherReceivables>
    <us-gaap:AccountsAndNotesReceivableNet
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000704"
      unitRef="USD">12992543</us-gaap:AccountsAndNotesReceivableNet>
    <us-gaap:AccountsAndNotesReceivableNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000705"
      unitRef="USD">9843056</us-gaap:AccountsAndNotesReceivableNet>
    <us-gaap:InventoryDisclosureTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000707">&lt;p id="xdx_80A_eus-gaap--InventoryDisclosureTextBlock_zEsyAu84VJpd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;5.
&lt;span id="xdx_825_zf6ZDJbSV0L9"&gt;INVENTORIES&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_897_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_z1q0rWdSYWpe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BA_zI96CjLFQ4Yg" style="display: none"&gt;SCHEDULE OF INVENTORY&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20240331_zyKJlqIjo6Oi" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;March 31, 2024&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20231231_zWnbpYTVwEzj" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--InventoryFinishedGoods_iI_pp0p0_maINzkLt_zNaj9XyKFg99" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Completed goods&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;2,139,797&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;2,682,158&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--InventoryRawMaterialsAndSupplies_iI_pp0p0_maINzkLt_zqPVpQEBrVN5" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Raw materials and supplies&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;8,319,459&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;8,452,731&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--InventoryNet_iTI_pp0p0_mtINzkLt_zdMsmYiMcF12" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total inventory&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;10,459,256&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;11,134,889&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AA_z9vzZa3VzYWk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




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

</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000709">&lt;p id="xdx_897_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_z1q0rWdSYWpe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BA_zI96CjLFQ4Yg" style="display: none"&gt;SCHEDULE OF INVENTORY&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20240331_zyKJlqIjo6Oi" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;March 31, 2024&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20231231_zWnbpYTVwEzj" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--InventoryFinishedGoods_iI_pp0p0_maINzkLt_zNaj9XyKFg99" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Completed goods&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;2,139,797&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;2,682,158&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--InventoryRawMaterialsAndSupplies_iI_pp0p0_maINzkLt_zqPVpQEBrVN5" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Raw materials and supplies&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;8,319,459&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;8,452,731&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--InventoryNet_iTI_pp0p0_mtINzkLt_zdMsmYiMcF12" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total inventory&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;10,459,256&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;11,134,889&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryFinishedGoods
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000711"
      unitRef="USD">2139797</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000712"
      unitRef="USD">2682158</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryRawMaterialsAndSupplies
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000714"
      unitRef="USD">8319459</us-gaap:InventoryRawMaterialsAndSupplies>
    <us-gaap:InventoryRawMaterialsAndSupplies
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000715"
      unitRef="USD">8452731</us-gaap:InventoryRawMaterialsAndSupplies>
    <us-gaap:InventoryNet
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000717"
      unitRef="USD">10459256</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000718"
      unitRef="USD">11134889</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000720">&lt;p id="xdx_807_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_zl8ORuhcnjcg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;6.
&lt;span id="xdx_82B_z8X5PDb1JNg5"&gt;PROPERTY, EQUIPMENT AND LEASEHOLDS &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_892_eus-gaap--PropertyPlantAndEquipmentTextBlock_zS0DBXgJKBKd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zukh3aed8U5" style="display: none"&gt;SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zN6zlxXDyv1h" style="vertical-align: bottom; text-align: center"&gt;March 31, 2024&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zzUvUvezMeo5" style="vertical-align: bottom; text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zrJ5TneS83Ag" style="vertical-align: bottom; text-align: center"&gt;March 31, 2024&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;Cost&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;Depreciation&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_414_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zvOjAwC7GUB6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: left"&gt;Buildings and improvements&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;12,408,992&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;4,049,352&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;8,359,640&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_417_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zAtE6aaK0slg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Automobiles&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;196,255&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;147,232&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;49,023&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41B_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zGENtOPTREE1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Office equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;122,161&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;111,825&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;10,336&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_412_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zgTgaswUitYc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Manufacturing equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;10,424,369&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;6,016,720&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,407,649&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_410_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zR0U5vcSK1jg" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Land&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;440,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0736"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;440,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41A_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zwkeHdBuMYW9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Leasehold improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;88,872&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;88,872&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0740"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_414_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_z5e7JMtHSNN7" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Technology&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;100,819&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;100,819&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0743"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20240331_zrU91weJQVhe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost"&gt;23,782,060&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20240331_ziuaWlWzOMx5" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation"&gt;10,514,820&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20240331_z7A028iNL4w3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total"&gt;13,267,240&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zlwJpFEV7dk8" style="text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zysZDJVltTEf" style="text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zU2lnB4EUwD7" style="text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Cost&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_418_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zwynXpLSzgc8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: left"&gt;Buildings and improvements&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;12,341,605&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;3,896,887&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;8,444,718&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41A_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zxoxOT9zrOle" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Automobiles&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;196,255&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;140,040&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;56,215&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zfMpk1lXNKWd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Office equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;177,623&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;165,048&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,575&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_410_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zbyZ1BasbRy3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Manufacturing equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;10,017,466&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,799,779&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,217,687&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zVweAIEnSRel" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Land&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;440,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0763"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;440,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41D_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zRvFJ9Sv3W49" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Leasehold improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;88,872&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;88,872&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0767"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zba0ORoLJCic" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Technology&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;103,292&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;103,292&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0770"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20231231_z2wXXerfkvBi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost"&gt;23,365,705&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20231231_zqOMpInbXSoi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation"&gt;10,193,918&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20231231_zFX4GcKuDdLj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total"&gt;13,171,787&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A9_z85ZTQBAzzNk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Amount
of depreciation expense for three months ended March 31, 2024 was: $&lt;span id="xdx_907_eus-gaap--Depreciation_c20240101__20240331_za3DKrvYLPFb" title="Depreciation"&gt;382,669&lt;/span&gt; (2023 - $&lt;span id="xdx_907_eus-gaap--Depreciation_c20230101__20230331_zKYERBYJbwTj" title="Depreciation"&gt;302,810&lt;/span&gt;) and is included in cost of sales in the
unaudited interim condensed consolidated statements of income and comprehensive income.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In January 2024, the Company lost power during a winter storm and some frozen pipes caused damage at two different locations. Insurance was in place and repairs are currently
being made.&lt;/span&gt;&lt;/p&gt;

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

</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000722">&lt;p id="xdx_892_eus-gaap--PropertyPlantAndEquipmentTextBlock_zS0DBXgJKBKd" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zukh3aed8U5" style="display: none"&gt;SCHEDULE OF PROPERTY, EQUIPMENT AND LEASEHOLDS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zN6zlxXDyv1h" style="vertical-align: bottom; text-align: center"&gt;March 31, 2024&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zzUvUvezMeo5" style="vertical-align: bottom; text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zrJ5TneS83Ag" style="vertical-align: bottom; text-align: center"&gt;March 31, 2024&lt;/td&gt;&lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;Cost&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;Depreciation&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_414_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zvOjAwC7GUB6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: left"&gt;Buildings and improvements&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;12,408,992&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;4,049,352&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;8,359,640&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_417_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zAtE6aaK0slg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Automobiles&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;196,255&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;147,232&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;49,023&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41B_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zGENtOPTREE1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Office equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;122,161&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;111,825&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;10,336&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_412_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zgTgaswUitYc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Manufacturing equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;10,424,369&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;6,016,720&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,407,649&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_410_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zR0U5vcSK1jg" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Land&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;440,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0736"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;440,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41A_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zwkeHdBuMYW9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Leasehold improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;88,872&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;88,872&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0740"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_414_20240331__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_z5e7JMtHSNN7" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Technology&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;100,819&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;100,819&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0743"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20240331_zrU91weJQVhe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost"&gt;23,782,060&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20240331_ziuaWlWzOMx5" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation"&gt;10,514,820&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20240331_z7A028iNL4w3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total"&gt;13,267,240&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_484_eus-gaap--PropertyPlantAndEquipmentGross_iI_zlwJpFEV7dk8" style="text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_487_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_zysZDJVltTEf" style="text-align: center"&gt;Accumulated&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_481_eus-gaap--PropertyPlantAndEquipmentNet_iI_zU2lnB4EUwD7" style="text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Cost&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Depreciation&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Net&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_418_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zwynXpLSzgc8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: left"&gt;Buildings and improvements&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;12,341,605&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;3,896,887&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;8,444,718&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41A_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--AutomobilesMember_zxoxOT9zrOle" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Automobiles&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;196,255&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;140,040&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;56,215&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--OfficeEquipmentMember_zfMpk1lXNKWd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Office equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;177,623&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;165,048&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;12,575&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_410_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_zbyZ1BasbRy3" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Manufacturing equipment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;10,017,466&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;5,799,779&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,217,687&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zVweAIEnSRel" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Land&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;440,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0763"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;440,592&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_41D_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zRvFJ9Sv3W49" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Leasehold improvements&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;88,872&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;88,872&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0767"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_411_20231231__us-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--DevelopedTechnologyRightsMember_zba0ORoLJCic" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Technology&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;103,292&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;103,292&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0770"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--PropertyPlantAndEquipmentGross_iI_c20231231_z2wXXerfkvBi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Cost"&gt;23,365,705&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iI_c20231231_zqOMpInbXSoi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Accumulated Depreciation"&gt;10,193,918&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--PropertyPlantAndEquipmentNet_iI_c20231231_zFX4GcKuDdLj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Property, plant and equipment, net, total"&gt;13,171,787&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-03-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      id="Fact000723"
      unitRef="USD">12408992</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-03-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      id="Fact000724"
      unitRef="USD">4049352</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-03-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      id="Fact000725"
      unitRef="USD">8359640</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-03-31_us-gaap_AutomobilesMember"
      decimals="0"
      id="Fact000726"
      unitRef="USD">196255</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-03-31_us-gaap_AutomobilesMember"
      decimals="0"
      id="Fact000727"
      unitRef="USD">147232</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-03-31_us-gaap_AutomobilesMember"
      decimals="0"
      id="Fact000728"
      unitRef="USD">49023</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-03-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      id="Fact000729"
      unitRef="USD">122161</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-03-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      id="Fact000730"
      unitRef="USD">111825</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-03-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      id="Fact000731"
      unitRef="USD">10336</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-03-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      id="Fact000732"
      unitRef="USD">10424369</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-03-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      id="Fact000733"
      unitRef="USD">6016720</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-03-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      id="Fact000734"
      unitRef="USD">4407649</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-03-31_us-gaap_LandMember"
      decimals="0"
      id="Fact000735"
      unitRef="USD">440592</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-03-31_us-gaap_LandMember"
      decimals="0"
      id="Fact000737"
      unitRef="USD">440592</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-03-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      id="Fact000738"
      unitRef="USD">88872</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-03-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      id="Fact000739"
      unitRef="USD">88872</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-03-31_us-gaap_DevelopedTechnologyRightsMember"
      decimals="0"
      id="Fact000741"
      unitRef="USD">100819</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-03-31_us-gaap_DevelopedTechnologyRightsMember"
      decimals="0"
      id="Fact000742"
      unitRef="USD">100819</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000745"
      unitRef="USD">23782060</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000747"
      unitRef="USD">10514820</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000749"
      unitRef="USD">13267240</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      id="Fact000750"
      unitRef="USD">12341605</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      id="Fact000751"
      unitRef="USD">3896887</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_BuildingAndBuildingImprovementsMember"
      decimals="0"
      id="Fact000752"
      unitRef="USD">8444718</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_AutomobilesMember"
      decimals="0"
      id="Fact000753"
      unitRef="USD">196255</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_AutomobilesMember"
      decimals="0"
      id="Fact000754"
      unitRef="USD">140040</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_AutomobilesMember"
      decimals="0"
      id="Fact000755"
      unitRef="USD">56215</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      id="Fact000756"
      unitRef="USD">177623</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      id="Fact000757"
      unitRef="USD">165048</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_OfficeEquipmentMember"
      decimals="0"
      id="Fact000758"
      unitRef="USD">12575</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      id="Fact000759"
      unitRef="USD">10017466</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      id="Fact000760"
      unitRef="USD">5799779</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_MachineryAndEquipmentMember"
      decimals="0"
      id="Fact000761"
      unitRef="USD">4217687</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_LandMember"
      decimals="0"
      id="Fact000762"
      unitRef="USD">440592</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_us-gaap_LandMember"
      decimals="0"
      id="Fact000764"
      unitRef="USD">440592</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      id="Fact000765"
      unitRef="USD">88872</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_LeaseholdImprovementsMember"
      decimals="0"
      id="Fact000766"
      unitRef="USD">88872</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember"
      decimals="0"
      id="Fact000768"
      unitRef="USD">103292</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_us-gaap_DevelopedTechnologyRightsMember"
      decimals="0"
      id="Fact000769"
      unitRef="USD">103292</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000772"
      unitRef="USD">23365705</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000774"
      unitRef="USD">10193918</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000776"
      unitRef="USD">13171787</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000778"
      unitRef="USD">382669</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000780"
      unitRef="USD">302810</us-gaap:Depreciation>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000782">&lt;p id="xdx_804_eus-gaap--GoodwillAndIntangibleAssetsDisclosureTextBlock_zQS7ryUpeUC7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;7.
&lt;span id="xdx_827_zm0peL1c8Pba"&gt;GOODWILL AND INTANGIBLE ASSETS&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89F_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zpkjYqyw9UQ3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BB_zYt6c9yNnv98" style="display: none"&gt;SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Goodwill&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 82%; padding-bottom: 1.5pt"&gt;Balance as of December 31, 2022 and 2023 and March 31, 2024&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right"&gt;&lt;span id="xdx_905_eus-gaap--Goodwill_iE_c20221231_ziEl1WGBB1a9" title="Goodwill"&gt;&lt;span id="xdx_902_eus-gaap--Goodwill_iE_c20231231_zmblRPN00qLe" title="Goodwill"&gt;&lt;span id="xdx_903_eus-gaap--Goodwill_iE_c20240331_zbzbEoH3H9w1" title="Goodwill"&gt;2,534,275&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Indefinite Lived Intangible Assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance as of December 31, 2022 and 2023 and March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span id="xdx_90C_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20221231_zXtp0SXD4Np6" title="Indefinite lived intangible assets"&gt;&lt;span id="xdx_90E_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20231231_zIqeM0UoSb87" title="Indefinite lived intangible assets"&gt;&lt;span id="xdx_909_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20240331_z2PAfnQ1W327" title="Indefinite lived intangible assets"&gt;770,000&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
relates to the acquisition of ENP Investments. Indefinite lived intangible assets consist of trade secrets and trademarks related to
the acquisition of ENP Investments.&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Definite Life Intangible Assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 82%"&gt;Balance as of December 31, 2022&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsNet_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zJ0dFg6xsYr2" style="width: 14%; text-align: right" title="Definite lived intangible assets, beginning balance"&gt;1,670,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--AmortizationOfIntangibleAssets_iN_pp0p0_di_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_z1RtnZ4Wyfyi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization"&gt;(160,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balances as of December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsNet_iS_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zNFLe4M6eJQj" style="text-align: right" title="Definite lived intangible assets, beginning balance"&gt;1,510,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--AmortizationOfIntangibleAssets_iN_pp0p0_di_c20240101__20240331__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zrjgX2H2cTtb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization"&gt;(40,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balances as of March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsNet_iE_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_z2ytHZt0v3x3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Definite lived intangible assets, ending balance"&gt;1,470,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A2_zbniM4j8p3t1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
amount of amortization for three months ended March 31, 2024 was $&lt;span id="xdx_90A_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20240331_zUCX6NAx4eX4" title="Amortization"&gt;40,000&lt;/span&gt; (2023 - $&lt;span id="xdx_90B_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iI_pp0p0_c20230331_zkamd89QHhb9" title="Amortization"&gt;40,000&lt;/span&gt;) and was included in cost of sales in the unaudited
interim condensed consolidated statements of income and comprehensive income.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Definite
lived intangible assets consist of customer relationships and software related to the acquisition of ENP Investments.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_893_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zgKvsuzrmpZ" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Estimated
amortization expense over the next five years is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B6_ztXwALYoAVpf" style="display: none"&gt;SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: justify"&gt;2024&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_iI_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zmOTfQIU9fE9" style="width: 16%; text-align: right" title="2024"&gt;160,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;2025&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zUP3hoRNuBPe" style="text-align: right" title="2025"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;2026&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_pp0p0_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_z4W7ado0iBJa" style="text-align: right" title="2026"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;2027&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pp0p0_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zpHeNGnH3g55" style="text-align: right" title="2027"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1.5pt"&gt;2028&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_pp0p0_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zRGwt4LIDcE1" style="border-bottom: Black 1.5pt solid; text-align: right" title="2028"&gt;160,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A4_zPCjFH5zLgTl" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000784">&lt;p id="xdx_89F_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zpkjYqyw9UQ3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BB_zYt6c9yNnv98" style="display: none"&gt;SCHEDULE OF GOODWILL AND INDEFINITE LIVED INTANGIBLE ASSETS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Goodwill&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 82%; padding-bottom: 1.5pt"&gt;Balance as of December 31, 2022 and 2023 and March 31, 2024&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; width: 14%; text-align: right"&gt;&lt;span id="xdx_905_eus-gaap--Goodwill_iE_c20221231_ziEl1WGBB1a9" title="Goodwill"&gt;&lt;span id="xdx_902_eus-gaap--Goodwill_iE_c20231231_zmblRPN00qLe" title="Goodwill"&gt;&lt;span id="xdx_903_eus-gaap--Goodwill_iE_c20240331_zbzbEoH3H9w1" title="Goodwill"&gt;2,534,275&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Indefinite Lived Intangible Assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance as of December 31, 2022 and 2023 and March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span id="xdx_90C_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20221231_zXtp0SXD4Np6" title="Indefinite lived intangible assets"&gt;&lt;span id="xdx_90E_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20231231_zIqeM0UoSb87" title="Indefinite lived intangible assets"&gt;&lt;span id="xdx_909_eus-gaap--IndefiniteLivedIntangibleAssetsExcludingGoodwill_iI_c20240331_z2PAfnQ1W327" title="Indefinite lived intangible assets"&gt;770,000&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Goodwill
relates to the acquisition of ENP Investments. Indefinite lived intangible assets consist of trade secrets and trademarks related to
the acquisition of ENP Investments.&lt;/span&gt;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Definite Life Intangible Assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 82%"&gt;Balance as of December 31, 2022&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsNet_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zJ0dFg6xsYr2" style="width: 14%; text-align: right" title="Definite lived intangible assets, beginning balance"&gt;1,670,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--AmortizationOfIntangibleAssets_iN_pp0p0_di_c20230101__20231231__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_z1RtnZ4Wyfyi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization"&gt;(160,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balances as of December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--FiniteLivedIntangibleAssetsNet_iS_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zNFLe4M6eJQj" style="text-align: right" title="Definite lived intangible assets, beginning balance"&gt;1,510,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Amortization&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--AmortizationOfIntangibleAssets_iN_pp0p0_di_c20240101__20240331__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_zrjgX2H2cTtb" style="border-bottom: Black 1.5pt solid; text-align: right" title="Amortization"&gt;(40,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balances as of March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsNet_iE_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--EnPInvestmentsCorporationLLCMember_z2ytHZt0v3x3" style="border-bottom: Black 1.5pt solid; text-align: right" title="Definite lived intangible assets, ending balance"&gt;1,470,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock>
    <us-gaap:Goodwill
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000786"
      unitRef="USD">2534275</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000788"
      unitRef="USD">2534275</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000790"
      unitRef="USD">2534275</us-gaap:Goodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact000792"
      unitRef="USD">770000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000794"
      unitRef="USD">770000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000796"
      unitRef="USD">770000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2022-12-31_custom_EnPInvestmentsCorporationLLCMember"
      decimals="0"
      id="Fact000798"
      unitRef="USD">1670000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2023-01-012023-12-31_custom_EnPInvestmentsCorporationLLCMember"
      decimals="0"
      id="Fact000800"
      unitRef="USD">160000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2023-12-31_custom_EnPInvestmentsCorporationLLCMember"
      decimals="0"
      id="Fact000802"
      unitRef="USD">1510000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2024-01-012024-03-31_custom_EnPInvestmentsCorporationLLCMember"
      decimals="0"
      id="Fact000804"
      unitRef="USD">40000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2024-03-31_custom_EnPInvestmentsCorporationLLCMember"
      decimals="0"
      id="Fact000806"
      unitRef="USD">1470000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000808"
      unitRef="USD">40000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2023-03-31"
      decimals="0"
      id="Fact000810"
      unitRef="USD">40000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000812">&lt;p id="xdx_893_eus-gaap--ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_zgKvsuzrmpZ" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Estimated
amortization expense over the next five years is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B6_ztXwALYoAVpf" style="display: none"&gt;SCHEDULE OF ESTIMATED FUTURE AMORTIZATION EXPENSE&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: justify"&gt;2024&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_iI_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zmOTfQIU9fE9" style="width: 16%; text-align: right" title="2024"&gt;160,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;2025&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_iI_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zUP3hoRNuBPe" style="text-align: right" title="2025"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;2026&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_iI_pp0p0_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_z4W7ado0iBJa" style="text-align: right" title="2026"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;2027&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_iI_pp0p0_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zpHeNGnH3g55" style="text-align: right" title="2027"&gt;160,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify; padding-bottom: 1.5pt"&gt;2028&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_iI_pp0p0_c20240331__us-gaap--FairValueByAssetClassAxis__us-gaap--FiniteLivedIntangibleAssetsMember_zRGwt4LIDcE1" style="border-bottom: Black 1.5pt solid; text-align: right" title="2028"&gt;160,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
      contextRef="AsOf2024-03-31_us-gaap_FiniteLivedIntangibleAssetsMember"
      decimals="0"
      id="Fact000814"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="AsOf2024-03-31_us-gaap_FiniteLivedIntangibleAssetsMember"
      decimals="0"
      id="Fact000816"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="AsOf2024-03-31_us-gaap_FiniteLivedIntangibleAssetsMember"
      decimals="0"
      id="Fact000818"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="AsOf2024-03-31_us-gaap_FiniteLivedIntangibleAssetsMember"
      decimals="0"
      id="Fact000820"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="AsOf2024-03-31_us-gaap_FiniteLivedIntangibleAssetsMember"
      decimals="0"
      id="Fact000822"
      unitRef="USD">160000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <FSI:LongTermDepositsTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000824">&lt;p id="xdx_804_ecustom--LongTermDepositsTextBlock_zf4x7h5PTEuj" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;8.
&lt;span style="font-variant: small-caps"&gt;&lt;span id="xdx_822_zmBf2gcJGl26"&gt;LONG TERM DEPOSITS&lt;/span&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_896_ecustom--ScheduleOfLongTermDepositsTableTextBlock_z01JCisFMpD7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has security deposits that are long term in nature which consist of damage deposits held by landlords and deposits held by various
vendors for equipment purchases.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BC_zwI67e96r4ee" style="display: none"&gt;SCHEDULE OF LONG TERM DEPOSITS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_493_20240331_zqtK2CbPFxp1" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;March 31, 2024&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49F_20231231_zVCo1SMrvA7j" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--DepositsAssetsNoncurrent_iI_pp0p0_zq0nnH5LZKFj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt; width: 60%"&gt;Long term deposits&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left; width: 1%"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right; width: 16%"&gt;840,592&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left; width: 1%"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right; width: 16%"&gt;824,254&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

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

</FSI:LongTermDepositsTextBlock>
    <FSI:ScheduleOfLongTermDepositsTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000826">&lt;p id="xdx_896_ecustom--ScheduleOfLongTermDepositsTableTextBlock_z01JCisFMpD7" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has security deposits that are long term in nature which consist of damage deposits held by landlords and deposits held by various
vendors for equipment purchases.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BC_zwI67e96r4ee" style="display: none"&gt;SCHEDULE OF LONG TERM DEPOSITS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_493_20240331_zqtK2CbPFxp1" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;March 31, 2024&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49F_20231231_zVCo1SMrvA7j" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--DepositsAssetsNoncurrent_iI_pp0p0_zq0nnH5LZKFj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt; width: 60%"&gt;Long term deposits&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left; width: 1%"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right; width: 16%"&gt;840,592&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left; width: 1%"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right; width: 16%"&gt;824,254&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

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

</FSI:ScheduleOfLongTermDepositsTableTextBlock>
    <us-gaap:DepositsAssetsNoncurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000828"
      unitRef="USD">840592</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:DepositsAssetsNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact000829"
      unitRef="USD">824254</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:EquityMethodInvestmentsDisclosureTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000831">&lt;p id="xdx_807_eus-gaap--EquityMethodInvestmentsDisclosureTextBlock_zzg95Nw7Y6p2" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;9.
&lt;span id="xdx_821_zbBm1lDcGE34"&gt;INVESTMENTS&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;a&lt;span style="font-variant: small-caps"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span style="font-variant: small-caps"&gt;T&lt;/span&gt;he
Company previously held a &lt;span id="xdx_903_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--EnpPeruInvestmentsLlcMember_zoqXyBUkvTac"&gt;50&lt;/span&gt;% ownership interest in ENP Peru, split between NanoChem (&lt;span id="xdx_909_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--NanoChemMember_zrm7eJFKHfbe"&gt;41.67&lt;/span&gt;%) and ENP Investments (&lt;span id="xdx_904_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20161231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_z0rpFkzOd0o2"&gt;8.33&lt;/span&gt;%), which was
acquired in fiscal 2016. ENP Peru is located in Illinois and leases warehouse space to other entities in the Company. In June 2022, NanoChem
acquired an additional &lt;span id="xdx_903_ecustom--AdditionalEquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20220630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--NanoChemMember_zDxcQuDJp6il" title="Additional equity method investment ownership percentage"&gt;50&lt;/span&gt;% ownership interest at a cost of $&lt;span id="xdx_90D_eus-gaap--BusinessCombinationConsiderationTransferred1_c20220601__20220630__srt--OwnershipAxis__custom--ENPPeruMember_zYmxok5G9pRj" title="Purchase consideration"&gt;506,659&lt;/span&gt; paid through a new $&lt;span id="xdx_906_eus-gaap--Cash_iI_c20220630__srt--OwnershipAxis__custom--ENPPeruMember_z2UAAX81vCQd"&gt;259,000&lt;/span&gt; mortgage and cash on hand. The &lt;span id="xdx_907_eus-gaap--MinorityInterestOwnershipPercentageByNoncontrollingOwners_iI_pid_dp_uPure_c20231231__srt--OwnershipAxis__custom--EnpnvestmentsLlcMember_zWkd5umF1Bnj" title="Non-controlling interest percentage"&gt;35&lt;/span&gt;% non-controlling
interest of the &lt;span id="xdx_902_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20231231__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zCCqGNzDOlyi"&gt;8.33&lt;/span&gt;% owned by ENP Investments is included in non-controlling interest in these consolidated financial statements. The
Company&#x2019;s investment in ENP Peru was previously accounted for using the equity method, however, it is now consolidated into the
consolidated financial statements from the date control was obtained. In June 2023, NanoChem purchased the remaining &lt;span id="xdx_901_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20230630__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--ENPInvestmentsLLCMember_zFU72XjOR9U6"&gt;8.33&lt;/span&gt;% of ENP Peru
from ENP Investments to become full owner.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;It
was determined that ENP Peru did not meet the definition of a business in accordance with FASB Codification Topic 805, &lt;i&gt;Business Combinations
&lt;/i&gt;(ASC 805)&lt;i&gt;, &lt;/i&gt;and the acquisition was accounted for as an asset acquisition. The following table summarizes the final purchase
price allocation of the consideration paid to the respective fair values of the assets acquired and liabilities assumed in ENP Peru as
of the acquisition date. The gain on acquisition of ENP Peru represents a gain on remeasurement of the Company&#x2019;s equity method
investment immediately prior to the acquisition date.&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_890_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zvy2uXMfv6I9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BB_zHOnoIqLr5X1" style="display: none"&gt;SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_498_20240101__20240331_z1UPgT0yUx1b" style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--BusinessCombinationConsiderationTransferred1_zXIp0fYZhfIb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left; padding-bottom: 1.5pt"&gt;Purchase consideration&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"&gt;506,659&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Assets acquired:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iE_zmqQbUZ76JSl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Cash&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,330&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_iE_zSdJDuzHtPr6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Building&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,750,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_iE_z79ZdcuRJq65" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Land&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;150,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Liabilities assumed:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_iNE_di_z2Vh7wfvAmc8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Deferred tax liability&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(174,582&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_iE_zO3HAk9SRaf8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Long term debt&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(2,849,500&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iE_zrIawlBVHE5l" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total identifiable net assets:&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;883,248&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_iE_zG8O39oQ26Od" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Excess of assets acquired over consideration&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;376,589&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_ecustom--InvestmentEliminatedUponConsolidation_zmqcqVzEqusg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Less investment eliminated upon consolidation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(41,538&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--GainOnAcquisitionOfSubsidiary_ztzEqmj16bqc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Gain on acquisition of ENP Peru&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;335,051&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AB_zX2ibBTfzFMg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89B_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zBcBhrwl7oZf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;A
summary of the Company&#x2019;s investment follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zI6ks6LIzNka" style="display: none"&gt;SCHEDULE OF EQUITY METHOD INVESTMENT&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--EquityMethodInvestments_iS_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_z1tWRSEEtvjg" style="text-align: right; width: 16%" title="Beginning, balance"&gt;22,642&lt;/td&gt;&lt;td style="text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Return of equity&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--EquityMethodInvestmentReturnOfEquity_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_z6bZpdAYXRBi" style="text-align: right" title="Balance, Beginning"&gt;(8,750&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Gain in equity method investment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_znuTNDUIpPU8" style="text-align: right" title="Balance, Beginning"&gt;27,646&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Investment eliminated upon consolidation&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_ecustom--InvestmentEliminatedUponConsolidation_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zKhC5ymXWRr8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Balance, Beginning"&gt;(41,538&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Balance, December 31, 2023 and March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span id="xdx_90E_eus-gaap--EquityMethodInvestments_iE_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zYFartQrOd2d" title="Ending, balance"&gt;&lt;span id="xdx_90F_eus-gaap--EquityMethodInvestments_iE_c20240101__20240331__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zeibChWP65U7" title="Ending, balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0877"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0879"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A5_zYfy0wk2SCuk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;b&lt;span style="font-variant: small-caps"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In December 2018, the Company invested $&lt;span id="xdx_906_eus-gaap--Investments_iI_c20181231__dei--LegalEntityAxis__custom--AppliedHoldingCorpMember_zYClsbB3t6se" title="Investment"&gt;200,000&lt;/span&gt;
in Applied Holding Corp. (&#x201c;Applied&#x201d;). Applied is a captive insurance company and the Company received a non-convertible promissory
note for its investment which becomes due in 2021 but may be extended with notice for a maximum of two years. During the year ended December
31, 2021, the Company entered an agreement with Applied to extend the maturity date of this promissory note to &lt;span id="xdx_908_ecustom--DebtInstrumentMaturityMonthYear_c20210101__20211231_zg9Pjcwkhvvd" title="Debt maturity"&gt;December 2023&lt;/span&gt;. In October
2023, the Company received the payment of $&lt;span id="xdx_906_eus-gaap--Investments_iI_c20231031_zb5kPMmhbWM7" title="Investment"&gt;200,000&lt;/span&gt; to settle the promissory note and the balance of this investment at March 31, 2024
is $&lt;span id="xdx_90B_eus-gaap--Investments_iI_dxL_c20240331_zA34baobBQP8" title="Investment::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0887"&gt;nil&lt;/span&gt;&lt;/span&gt; (December 31, 2023 - $&lt;span id="xdx_90B_eus-gaap--Investments_iI_dxL_c20231231_zXBpzQvGtRj1" title="Investment::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0889"&gt;nil&lt;/span&gt;&lt;/span&gt;). In accordance with FASB Codification Topic 321, &lt;i&gt;Investments &#x2013; Equity Securities (&lt;/i&gt;ASC
321), the Company has elected to account for this investment at cost.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;(&lt;/span&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;c&lt;span style="font-variant: small-caps"&gt;)
&lt;/span&gt;&lt;/b&gt;In December 2018, the Company invested $&lt;span id="xdx_903_eus-gaap--Investments_iI_c20181231__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zCiMBGf4Itxl" title="Investment"&gt;500,000&lt;/span&gt; in Trio Opportunity Corp. (&#x201c;Trio&#x201d;), a privately held entity and
a further $&lt;span id="xdx_908_eus-gaap--Investments_iI_c20230430__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zDimit4j53s2" title="Investment"&gt;470,000&lt;/span&gt; was invested in April 2023. Trio is a real estate investment vehicle and the Company received &lt;span id="xdx_90B_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_pid_c20181201__20181231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zLWRmGj58Qv1" title="Common stock issued, shares"&gt;97,000&lt;/span&gt; non-voting Class
B shares at $&lt;span id="xdx_903_eus-gaap--SharePrice_iI_pid_c20181231__us-gaap--StatementClassOfStockAxis__us-gaap--CommonClassBMember__dei--LegalEntityAxis__custom--TrioOpportunityCorpMember_zLvWTPgQr3cj" title="Share price"&gt;10.00&lt;/span&gt;/share. In accordance with ASC 321, the Company has elected to account for this investment at cost.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(d)
&lt;/b&gt;In January 2019, the Company invested in a Florida based LLC that is engaged in international sales of fertilizer additives. The
Company accounts for this investment using the equity method of accounting. According to the operating agreement, the Company has a &lt;span id="xdx_906_eus-gaap--EquityMethodInvestmentOwnershipPercentage_iI_pid_dp_uPure_c20190131__srt--ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis__custom--FloridaBasedLLCMember_zVw0AwPcLdUa" title="Ownership percentage"&gt;50&lt;/span&gt;%
interest in the profit and loss of the Florida based LLC but does not have control. &lt;span style="background-color: white"&gt;A summary of
the Company&#x2019;s investment follows:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89F_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zjJDzXoVxSzb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BE_zWnWOFTcVoVh" style="display: none"&gt;SCHEDULE OF EQUITY METHOD INVESTMENT&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zgrEJA0sfFEc" style="width: 16%; text-align: right" title="Balance, Beginning"&gt;3,758,895&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gain in equity method investment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zzDMnG07uNul" style="text-align: right" title="Gain in equity method investment"&gt;505,065&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Return of equity&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zg6CrKcPBmj8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Return of equity"&gt;(200,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zNMuAMurqGR4" style="text-align: right" title="Balance, Beginning"&gt;4,063,960&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Gain in equity method investment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zsYyQ5aeEJU4" style="text-align: right" title="Gain in equity method investment"&gt;182,201&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Return of equity&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zz2mMIBKBv91" style="border-bottom: Black 1.5pt solid; text-align: right" title="Return of equity"&gt;(327,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance, March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--EquityMethodInvestments_iE_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zfQxHoRTy7Ji" style="border-bottom: Black 1.5pt solid; text-align: right" title="Balance, Ending"&gt;3,919,161&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AF_zFEYbjBKvTra" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_890_eus-gaap--GainLossOnInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zhyhPTmR8G6a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Summarized
profit and loss information related to the equity accounted investment is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BC_z30TsSXlgd0i" style="display: none"&gt;SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20240101__20240331_zMbJmA61lIf" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Three months &lt;br/&gt; ended &lt;br/&gt; March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20230101__20230331_zw3kA14MAccc" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Three months &lt;br/&gt; ended &lt;br/&gt; March 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--GainsLossesOnSalesOfInvestmentRealEstate_zYrQmVeDJJWf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Net sales&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;3,319,582&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;3,447,125&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--RealizedInvestmentGainsLosses_zIr740Rj5sXa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gross profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,014,988&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;965,052&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--RealizedInvestmentGainsLossesNet_zMkgRwI1eZ2h" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net income&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;364,403&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;139,990&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AC_zl4OBawrYiHe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the three months ended March 31, 2024, the Company had sales of $&lt;span id="xdx_907_eus-gaap--Revenues_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zGti3i4RG2ha" title="Sales"&gt;2,299,938&lt;/span&gt; (2023 - $&lt;span id="xdx_90C_eus-gaap--Revenues_c20230101__20230331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zTFVvprWVB9j" title="Sales"&gt;1,778,897&lt;/span&gt;) to the Florida Based LLC, of which $&lt;span id="xdx_907_eus-gaap--AccountsReceivableNet_iI_c20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_z4caaoK398J1" title="Accounts receivable related parties"&gt;1,723,833&lt;/span&gt;
is included within Accounts Receivable as at March 31, 2024 (December 31, 2023 - $&lt;span id="xdx_90E_eus-gaap--AccountsReceivableNet_iI_c20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zPH0JxN6PRn9" title="Accounts receivable related parties"&gt;2,073,813&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

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




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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(e)
&lt;/b&gt;In December 2020, the Company invested $&lt;span id="xdx_906_eus-gaap--PaymentsToAcquireInvestments_pp0p0_c20201201__20201231__dei--LegalEntityAxis__custom--LygosIncMember_zRUtpUWD9qo6"&gt;500,000&lt;/span&gt; in Lygos Inc. (&#x201c;Lygos&#x201d;), a privately held entity, under a Simple Agreement
for Future Equity (&#x201c;SAFE&#x201d;) agreement. Lygos is a company developing a sustainable aspartic acid microbe strain. In 2021,
the Company made a second SAFE investment of $&lt;span id="xdx_903_eus-gaap--PaymentsToAcquireInvestments_c20210101__20211231__dei--LegalEntityAxis__custom--LygosIncMember_zXfkYgafcq04"&gt;500,000&lt;/span&gt; for a total of $&lt;span id="xdx_90D_eus-gaap--Investments_iI_c20211231__dei--LegalEntityAxis__custom--LygosIncMember_z9pi3l09LrJ7" title="Investment"&gt;1,000,000&lt;/span&gt;. In accordance with ASC 321, the Company has elected
to account for this investment at cost.&lt;/span&gt;&lt;/p&gt;

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

</us-gaap:EquityMethodInvestmentsDisclosureTextBlock>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2016-12-31_custom_EnpPeruInvestmentsLlcMember"
      decimals="INF"
      id="Fact000832"
      unitRef="Pure">0.50</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2016-12-31_custom_NanoChemMember"
      decimals="INF"
      id="Fact000833"
      unitRef="Pure">0.4167</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2016-12-31_custom_ENPInvestmentsLLCMember"
      decimals="INF"
      id="Fact000834"
      unitRef="Pure">0.0833</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <FSI:AdditionalEquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2022-06-30_custom_NanoChemMember"
      decimals="INF"
      id="Fact000836"
      unitRef="Pure">0.50</FSI:AdditionalEquityMethodInvestmentOwnershipPercentage>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="From2022-06-012022-06-30_custom_ENPPeruMember"
      decimals="0"
      id="Fact000838"
      unitRef="USD">506659</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:Cash
      contextRef="AsOf2022-06-30_custom_ENPPeruMember"
      decimals="0"
      id="Fact000839"
      unitRef="USD">259000</us-gaap:Cash>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="AsOf2023-12-31_custom_EnpnvestmentsLlcMember"
      decimals="INF"
      id="Fact000841"
      unitRef="Pure">0.35</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2023-12-31_custom_ENPInvestmentsLLCMember"
      decimals="INF"
      id="Fact000842"
      unitRef="Pure">0.0833</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2023-06-30_custom_ENPInvestmentsLLCMember"
      decimals="INF"
      id="Fact000843"
      unitRef="Pure">0.0833</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock
      contextRef="From2024-01-012024-03-31_custom_EnpPeruInvestmentsLlcMember"
      id="Fact000845">&lt;p id="xdx_890_eus-gaap--ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zvy2uXMfv6I9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BB_zHOnoIqLr5X1" style="display: none"&gt;SCHEDULE OF FAIR VALUES OF THE ASSETS ACQUIRED AND LIABILITIES ASSUMED&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_498_20240101__20240331_z1UPgT0yUx1b" style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--BusinessCombinationConsiderationTransferred1_zXIp0fYZhfIb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left; padding-bottom: 1.5pt"&gt;Purchase consideration&lt;/td&gt;&lt;td style="width: 2%; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; width: 16%; text-align: right"&gt;506,659&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Assets acquired:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_iE_zmqQbUZ76JSl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Cash&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,330&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings_iE_zSdJDuzHtPr6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt"&gt;Building&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,750,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand_iE_z79ZdcuRJq65" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt"&gt;Land&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;150,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Liabilities assumed:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities_iNE_di_z2Vh7wfvAmc8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Deferred tax liability&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(174,582&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt_iE_zO3HAk9SRaf8" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1.5pt"&gt;Long term debt&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(2,849,500&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets_iE_zrIawlBVHE5l" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Total identifiable net assets:&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;883,248&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_ecustom--BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice_iE_zG8O39oQ26Od" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Excess of assets acquired over consideration&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;376,589&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40F_ecustom--InvestmentEliminatedUponConsolidation_zmqcqVzEqusg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Less investment eliminated upon consolidation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(41,538&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--GainOnAcquisitionOfSubsidiary_ztzEqmj16bqc" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Gain on acquisition of ENP Peru&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;335,051&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000847"
      unitRef="USD">506659</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000849"
      unitRef="USD">7330</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000851"
      unitRef="USD">3750000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBuildings>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000853"
      unitRef="USD">150000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLand>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000855"
      unitRef="USD">174582</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <FSI:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000857"
      unitRef="USD">-2849500</FSI:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000859"
      unitRef="USD">883248</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets>
    <FSI:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact000861"
      unitRef="USD">376589</FSI:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLessPurchasePrice>
    <FSI:InvestmentEliminatedUponConsolidation
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000863"
      unitRef="USD">-41538</FSI:InvestmentEliminatedUponConsolidation>
    <FSI:GainOnAcquisitionOfSubsidiary
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000865"
      unitRef="USD">335051</FSI:GainOnAcquisitionOfSubsidiary>
    <us-gaap:EquityMethodInvestmentsTextBlock
      contextRef="From2024-01-012024-03-31_custom_EnpPeruInvestmentsLlcMember"
      id="Fact000867">&lt;p id="xdx_89B_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zBcBhrwl7oZf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;A
summary of the Company&#x2019;s investment follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8B3_zI6ks6LIzNka" style="display: none"&gt;SCHEDULE OF EQUITY METHOD INVESTMENT&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--EquityMethodInvestments_iS_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_z1tWRSEEtvjg" style="text-align: right; width: 16%" title="Beginning, balance"&gt;22,642&lt;/td&gt;&lt;td style="text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Return of equity&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_987_ecustom--EquityMethodInvestmentReturnOfEquity_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_z6bZpdAYXRBi" style="text-align: right" title="Balance, Beginning"&gt;(8,750&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Gain in equity method investment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_znuTNDUIpPU8" style="text-align: right" title="Balance, Beginning"&gt;27,646&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Investment eliminated upon consolidation&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_ecustom--InvestmentEliminatedUponConsolidation_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zKhC5ymXWRr8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Balance, Beginning"&gt;(41,538&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Balance, December 31, 2023 and March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;&lt;span id="xdx_90E_eus-gaap--EquityMethodInvestments_iE_c20230101__20231231__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zYFartQrOd2d" title="Ending, balance"&gt;&lt;span id="xdx_90F_eus-gaap--EquityMethodInvestments_iE_c20240101__20240331__dei--LegalEntityAxis__custom--EnpPeruInvestmentsLlcMember_zeibChWP65U7" title="Ending, balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0877"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0879"&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:EquityMethodInvestmentsTextBlock>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2022-12-31_custom_EnpPeruInvestmentsLlcMember"
      decimals="0"
      id="Fact000869"
      unitRef="USD">22642</us-gaap:EquityMethodInvestments>
    <FSI:EquityMethodInvestmentReturnOfEquity
      contextRef="From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember"
      decimals="0"
      id="Fact000871"
      unitRef="USD">-8750</FSI:EquityMethodInvestmentReturnOfEquity>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember"
      decimals="0"
      id="Fact000873"
      unitRef="USD">27646</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <FSI:InvestmentEliminatedUponConsolidation
      contextRef="From2023-01-012023-12-31_custom_EnpPeruInvestmentsLlcMember"
      decimals="0"
      id="Fact000875"
      unitRef="USD">-41538</FSI:InvestmentEliminatedUponConsolidation>
    <us-gaap:Investments
      contextRef="AsOf2018-12-31_custom_AppliedHoldingCorpMember"
      decimals="0"
      id="Fact000881"
      unitRef="USD">200000</us-gaap:Investments>
    <FSI:DebtInstrumentMaturityMonthYear contextRef="From2021-01-012021-12-31" id="Fact000883">2023-12</FSI:DebtInstrumentMaturityMonthYear>
    <us-gaap:Investments
      contextRef="AsOf2023-10-31"
      decimals="0"
      id="Fact000885"
      unitRef="USD">200000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="AsOf2018-12-31_custom_TrioOpportunityCorpMember"
      decimals="0"
      id="Fact000891"
      unitRef="USD">500000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="AsOf2023-04-30_custom_TrioOpportunityCorpMember"
      decimals="0"
      id="Fact000893"
      unitRef="USD">470000</us-gaap:Investments>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2018-12-012018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember"
      decimals="INF"
      id="Fact000895"
      unitRef="Shares">97000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:SharePrice
      contextRef="AsOf2018-12-31_us-gaap_CommonClassBMember_custom_TrioOpportunityCorpMember"
      decimals="INF"
      id="Fact000897"
      unitRef="USDPShares">10.00</us-gaap:SharePrice>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="AsOf2019-01-31_custom_FloridaBasedLLCMember"
      decimals="INF"
      id="Fact000899"
      unitRef="Pure">0.50</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentsTextBlock
      contextRef="From2024-01-012024-03-31_custom_FloridaBasedLLCMember"
      id="Fact000901">&lt;p id="xdx_89F_eus-gaap--EquityMethodInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zjJDzXoVxSzb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BE_zWnWOFTcVoVh" style="display: none"&gt;SCHEDULE OF EQUITY METHOD INVESTMENT&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%"&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zgrEJA0sfFEc" style="width: 16%; text-align: right" title="Balance, Beginning"&gt;3,758,895&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gain in equity method investment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zzDMnG07uNul" style="text-align: right" title="Gain in equity method investment"&gt;505,065&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Return of equity&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20230101__20231231__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zg6CrKcPBmj8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Return of equity"&gt;(200,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--EquityMethodInvestments_iS_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zNMuAMurqGR4" style="text-align: right" title="Balance, Beginning"&gt;4,063,960&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Gain in equity method investment&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--EquityMethodInvestmentRealizedGainLossOnDisposal_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zsYyQ5aeEJU4" style="text-align: right" title="Gain in equity method investment"&gt;182,201&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Return of equity&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_ecustom--EquityMethodInvestmentReturnOfEquity_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zz2mMIBKBv91" style="border-bottom: Black 1.5pt solid; text-align: right" title="Return of equity"&gt;(327,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance, March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--EquityMethodInvestments_iE_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--FloridaBasedLLCMember_zfQxHoRTy7Ji" style="border-bottom: Black 1.5pt solid; text-align: right" title="Balance, Ending"&gt;3,919,161&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:EquityMethodInvestmentsTextBlock>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2022-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000903"
      unitRef="USD">3758895</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="From2023-01-012023-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000905"
      unitRef="USD">505065</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <FSI:EquityMethodInvestmentReturnOfEquity
      contextRef="From2023-01-012023-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000907"
      unitRef="USD">-200000</FSI:EquityMethodInvestmentReturnOfEquity>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2023-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000909"
      unitRef="USD">4063960</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="From2024-01-012024-03-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000911"
      unitRef="USD">182201</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <FSI:EquityMethodInvestmentReturnOfEquity
      contextRef="From2024-01-012024-03-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000913"
      unitRef="USD">-327000</FSI:EquityMethodInvestmentReturnOfEquity>
    <us-gaap:EquityMethodInvestments
      contextRef="AsOf2024-03-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000915"
      unitRef="USD">3919161</us-gaap:EquityMethodInvestments>
    <us-gaap:GainLossOnInvestmentsTextBlock
      contextRef="From2024-01-012024-03-31_custom_FloridaBasedLLCMember"
      id="Fact000917">&lt;p id="xdx_890_eus-gaap--GainLossOnInvestmentsTextBlock_hdei--LegalEntityAxis__custom--FloridaBasedLLCMember_zhyhPTmR8G6a" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Summarized
profit and loss information related to the equity accounted investment is as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BC_z30TsSXlgd0i" style="display: none"&gt;SUMMARY OF PROFIT AND LOSS INFORMATION RELATED TO EQUITY ACCOUNTED INVESTMENT&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_491_20240101__20240331_zMbJmA61lIf" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Three months &lt;br/&gt; ended &lt;br/&gt; March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_497_20230101__20230331_zw3kA14MAccc" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Three months &lt;br/&gt; ended &lt;br/&gt; March 31, 2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--GainsLossesOnSalesOfInvestmentRealEstate_zYrQmVeDJJWf" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%; text-align: left"&gt;Net sales&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;3,319,582&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;3,447,125&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--RealizedInvestmentGainsLosses_zIr740Rj5sXa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Gross profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,014,988&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;965,052&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_ecustom--RealizedInvestmentGainsLossesNet_zMkgRwI1eZ2h" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Net income&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;364,403&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;139,990&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:GainLossOnInvestmentsTextBlock>
    <us-gaap:GainsLossesOnSalesOfInvestmentRealEstate
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000919"
      unitRef="USD">3319582</us-gaap:GainsLossesOnSalesOfInvestmentRealEstate>
    <us-gaap:GainsLossesOnSalesOfInvestmentRealEstate
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000920"
      unitRef="USD">3447125</us-gaap:GainsLossesOnSalesOfInvestmentRealEstate>
    <us-gaap:RealizedInvestmentGainsLosses
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000922"
      unitRef="USD">1014988</us-gaap:RealizedInvestmentGainsLosses>
    <us-gaap:RealizedInvestmentGainsLosses
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000923"
      unitRef="USD">965052</us-gaap:RealizedInvestmentGainsLosses>
    <FSI:RealizedInvestmentGainsLossesNet
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact000925"
      unitRef="USD">364403</FSI:RealizedInvestmentGainsLossesNet>
    <FSI:RealizedInvestmentGainsLossesNet
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact000926"
      unitRef="USD">139990</FSI:RealizedInvestmentGainsLossesNet>
    <us-gaap:Revenues
      contextRef="From2024-01-012024-03-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000928"
      unitRef="USD">2299938</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2023-01-012023-03-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000930"
      unitRef="USD">1778897</us-gaap:Revenues>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-03-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000932"
      unitRef="USD">1723833</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31_custom_FloridaBasedLLCMember"
      decimals="0"
      id="Fact000934"
      unitRef="USD">2073813</us-gaap:AccountsReceivableNet>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="From2020-12-012020-12-31_custom_LygosIncMember"
      decimals="0"
      id="Fact000935"
      unitRef="USD">500000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="From2021-01-012021-12-31_custom_LygosIncMember"
      decimals="0"
      id="Fact000936"
      unitRef="USD">500000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:Investments
      contextRef="AsOf2021-12-31_custom_LygosIncMember"
      decimals="0"
      id="Fact000938"
      unitRef="USD">1000000</us-gaap:Investments>
    <us-gaap:ShortTermDebtTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000940">&lt;p id="xdx_802_eus-gaap--ShortTermDebtTextBlock_zzgXEZP3Cm1f" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;10.
&lt;span id="xdx_824_zduMLCTbVz99"&gt;SHORT-TERM LINE OF CREDIT&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;a&lt;span style="font-variant: small-caps"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In June 2023, ENP Investments renewed the
line of credit with Stock Yards Bank and Trust (&#x201c;Stock Yards&#x201d;), increasing the limit by $&lt;span id="xdx_90C_eus-gaap--LineOfCreditFacilityCurrentBorrowingCapacity_iI_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zgnJP6AkKRg8"&gt;500,000&lt;/span&gt; from the previous line of
credit. The revolving line of credit is for an aggregate amount of up to the lesser of (i) $&lt;span id="xdx_903_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zmJdsvCBU9Xk"&gt;4,500,000&lt;/span&gt;, or (ii) 50-80% of eligible domestic
accounts receivable plus &lt;span id="xdx_90A_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zgRewOqM0SAl"&gt;50&lt;/span&gt;% of inventory, capped at $&lt;span id="xdx_907_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zmYEsK8PKvU5"&gt;2,000,000&lt;/span&gt;. Interest on the unpaid principal balance of this loan will be calculated
using the greater of prime or 8.25%. The interest rate at March 31, 2024 is &lt;span id="xdx_90D_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20240331__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zlQnDFFPD1cf"&gt;8.5&lt;/span&gt;% (December 31, 2023 - &lt;span id="xdx_906_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zx3fRnqVpL93"&gt;8.5&lt;/span&gt;%).&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provisions
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yard&#x2019;s access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. NanoChem is a guarantor of &lt;span id="xdx_900_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20240331__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zbYSHOU7GMyi" title="Loan guaranteed rate"&gt;65&lt;/span&gt;% of all the principal and other loan costs not to exceed $&lt;span id="xdx_90C_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20240331__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zyDa42pURjCf" title="Line of credit"&gt;2,925,000&lt;/span&gt;.
The non-controlling interest is the guarantor of the remaining &lt;span id="xdx_909_ecustom--LoanGuaranteedRate_iI_pid_dp_uPure_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--NoncontrollingInterestMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zZqrxxPsqFZ6" title="Loan guaranteed rate"&gt;35&lt;/span&gt;% of all the principal and other loan costs not to exceed $&lt;span id="xdx_905_eus-gaap--LinesOfCreditCurrent_iI_pp0p0_c20240331__us-gaap--StatementEquityComponentsAxis__us-gaap--NoncontrollingInterestMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zcETT7JEgfRf" title="Line of credit"&gt;1,575,000&lt;/span&gt;.
As of March 31, 2024, ENP Investments was in compliance with all loan covenants.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;To
secure the repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest
in substantially all of the assets of ENP Investments, exclusive of intellectual property assets.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Short-term
borrowings outstanding under the revolving line as of March 31, 2024 were $&lt;span id="xdx_908_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20240331__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zetMpjnH6Tig" title="Short term borrowings"&gt;3,259,935&lt;/span&gt; (December 31, 2023 - $&lt;span id="xdx_90E_eus-gaap--ShortTermBorrowings_iI_pp0p0_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockYardAndBankMember_zKRcrxA1IRJb" title="Short term borrowings"&gt;1,810,479&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(b)
&lt;/b&gt;In June 2023, the Company renewed the line of credit with Stock Yards Bank and Trust (&#x201c;Stock Yards&#x201d;). The revolving line
of credit is for an aggregate amount of up to the lesser of (i) $&lt;span id="xdx_901_eus-gaap--LineOfCreditFacilityMaximumBorrowingCapacity_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zqHGVk4Tkf4f" title="Aggregate amount of revolving line of credit"&gt;4,000,000&lt;/span&gt;, or (ii) &lt;span id="xdx_906_ecustom--EligiblePercentageOfDomesticAccountsReceivable_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zWnCHR775oJ8" title="Eligible percentage of domestic accounts receivable"&gt;80&lt;/span&gt;% of eligible domestic accounts receivable and
certain foreign accounts receivable plus &lt;span id="xdx_90D_ecustom--PercentageOfForeignAccountsReceivableOfInventory_pid_dp_uPure_c20230601__20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z2M5EM0kXRc9" title="Percentage of foreign accounts receivable of inventory"&gt;50&lt;/span&gt;% of inventory, capped at $&lt;span id="xdx_908_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zQ96dAkneone" title="Debt face amount"&gt;2,000,000&lt;/span&gt;. Interest on the unpaid principal balance of this loan
will be calculated using the greater of prime or 8.25%. The interest rate at March 31, 2024 is &lt;span id="xdx_901_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20240331__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_z4Mq1RfjoJtl" title="Interest rate"&gt;8.5&lt;/span&gt;% (December 31, 2023 - &lt;span id="xdx_90E_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_uPure_c20231231__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandStatesBankMember__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember_zopnpTzdzO6a" title="Interest rate"&gt;8.5&lt;/span&gt;%).&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
revolving line of credit contains customary affirmative and negative covenants, including the following: compliance with laws, provision
of financial statements and periodic reports, payment of taxes, maintenance of inventory and insurance, maintenance of operating accounts
at Stock Yards, Stock Yards access to collateral, formation or acquisition of subsidiaries, incurrence of indebtedness, dispositions
of assets, granting liens, changes in business, ownership or business locations, engaging in mergers and acquisitions, making investments
or distributions and affiliate transactions. The covenants also require that the Company maintain a minimum ratio of qualifying financial
assets to the sum of qualifying financial obligations. As of March 31, 2024, the Company was in compliance with all loan covenants.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;To
secure repayment of any amounts borrowed under the revolving line of credit, the Company granted Stock Yards a security interest in substantially
all of the assets of NanoChem, exclusive of intellectual property assets.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Short-term
borrowings outstanding under the revolving line as of March 31, 2024 were $&lt;span id="xdx_908_eus-gaap--ShortTermBorrowings_iI_dxL_c20240331__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zVVFTsvPdqbk" title="Short term borrowings::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0972"&gt;nil&lt;/span&gt;&lt;/span&gt; (December 31, 2023 were $&lt;span id="xdx_90C_eus-gaap--ShortTermBorrowings_iI_dxL_c20231231__us-gaap--TypeOfArrangementAxis__custom--NewAgreementMember__dei--LegalEntityAxis__custom--NanoChemSolutionIncMember__us-gaap--LineOfCreditFacilityAxis__custom--StockBankMember__us-gaap--CreditFacilityAxis__us-gaap--RevolvingCreditFacilityMember_zWmaKwZqfzRd" title="Short term borrowings::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0974"&gt;nil&lt;/span&gt;&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

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

</us-gaap:ShortTermDebtTextBlock>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity
      contextRef="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="0"
      id="Fact000941"
      unitRef="USD">500000</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="0"
      id="Fact000942"
      unitRef="USD">4500000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <FSI:PercentageOfForeignAccountsReceivableOfInventory
      contextRef="From2023-06-012023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact000943"
      unitRef="Pure">0.50</FSI:PercentageOfForeignAccountsReceivableOfInventory>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2023-06-30_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="0"
      id="Fact000944"
      unitRef="USD">2000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-03-31_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact000945"
      unitRef="Pure">0.085</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2023-12-31_custom_StockYardAndBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact000946"
      unitRef="Pure">0.085</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <FSI:LoanGuaranteedRate
      contextRef="AsOf2024-03-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember"
      decimals="INF"
      id="Fact000948"
      unitRef="Pure">0.65</FSI:LoanGuaranteedRate>
    <us-gaap:LinesOfCreditCurrent
      contextRef="AsOf2024-03-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember"
      decimals="0"
      id="Fact000950"
      unitRef="USD">2925000</us-gaap:LinesOfCreditCurrent>
    <FSI:LoanGuaranteedRate
      contextRef="AsOf2024-03-31_us-gaap_NoncontrollingInterestMember_custom_StockYardAndBankMember"
      decimals="INF"
      id="Fact000952"
      unitRef="Pure">0.35</FSI:LoanGuaranteedRate>
    <us-gaap:LinesOfCreditCurrent
      contextRef="AsOf2024-03-31_us-gaap_NoncontrollingInterestMember_custom_StockYardAndBankMember"
      decimals="0"
      id="Fact000954"
      unitRef="USD">1575000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:ShortTermBorrowings
      contextRef="AsOf2024-03-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember"
      decimals="0"
      id="Fact000956"
      unitRef="USD">3259935</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="AsOf2023-12-31_custom_NewAgreementMember_custom_NanoChemSolutionIncMember_custom_StockYardAndBankMember"
      decimals="0"
      id="Fact000958"
      unitRef="USD">1810479</us-gaap:ShortTermBorrowings>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="0"
      id="Fact000960"
      unitRef="USD">4000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <FSI:EligiblePercentageOfDomesticAccountsReceivable
      contextRef="From2023-06-012023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact000962"
      unitRef="Pure">0.80</FSI:EligiblePercentageOfDomesticAccountsReceivable>
    <FSI:PercentageOfForeignAccountsReceivableOfInventory
      contextRef="From2023-06-012023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact000964"
      unitRef="Pure">0.50</FSI:PercentageOfForeignAccountsReceivableOfInventory>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2023-06-30_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="0"
      id="Fact000966"
      unitRef="USD">2000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2024-03-31_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact000968"
      unitRef="Pure">0.085</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2023-12-31_custom_StockBankMember_custom_MidlandStatesBankMember_custom_NewAgreementMember"
      decimals="INF"
      id="Fact000970"
      unitRef="Pure">0.085</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:LongTermDebtTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact000976">&lt;p id="xdx_801_eus-gaap--LongTermDebtTextBlock_zB0uAef4488h" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;11.
&lt;span id="xdx_829_zcMrA9Thx0O"&gt;LONG TERM DEBT&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(a)
&lt;/b&gt;In January 2020, ENP Mendota refinanced its mortgage and signed a loan for $&lt;span id="xdx_90D_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zqHHTKKWLUVg"&gt;450,000&lt;/span&gt; with Stock Yards to be repaid over &lt;span id="xdx_903_eus-gaap--DebtInstrumentTerm_dtY_c20200101__20200131__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_z4SVLGeqzOMj"&gt;10&lt;/span&gt; years with
monthly installments plus interest. Interest for the first five years is at &lt;span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_zejznE5I95el"&gt;4.35&lt;/span&gt;% and it will be adjusted for the last five years to
the Cincinnati Federal Home Bank Loan &lt;span id="xdx_90B_eus-gaap--DebtInstrumentTerm_dtY_c20200101__20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zajnCyUEGFwf"&gt;5&lt;/span&gt; year fixed index plus &lt;span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--ENPMendotaMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zV2TBgl3r7k"&gt;4.5&lt;/span&gt;%. Interest expense for the three months ended March 31, 2024 was $&lt;span id="xdx_905_eus-gaap--InterestExpenseDebt_pp0p0_c20240101__20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_z4ll8TmTCQ0l" title="Interest expense debt"&gt;4,373&lt;/span&gt;
(2023 - $&lt;span id="xdx_90A_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zPTfrYGiHDGl" title="Interest expense debt"&gt;4,501&lt;/span&gt;). The balance owing at March 31, 2024 was $&lt;span id="xdx_902_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_z8bNb2iQUu5"&gt;396,371&lt;/span&gt; (December 31, 2023 - $&lt;span id="xdx_90F_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPMendotaMember_zfwoVTdv5MM5"&gt;399,269&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

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




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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.4in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;To
secure repayment of any amounts borrowed under the mortgage, the Company granted Stock Yards a security interest in real property under
the mortgage and all rents on said property.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(b)
&lt;/b&gt;In June 2022, NanoChem signed a loan for $&lt;span id="xdx_904_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zSNqGVXCDrn5" title="Debt instrument face amount"&gt;1,935,000&lt;/span&gt; with Stock Yards with an interest rate of&lt;span id="xdx_90E_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pip0_dp_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zPlf20WxzWi8" title="Debt instrument interest rate stated percentage"&gt; 4.90&lt;/span&gt;% to be repaid over &lt;span id="xdx_901_eus-gaap--DebtInstrumentTerm_c20220601__20220630__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember__dei--LegalEntityAxis__custom--EnpRealtyLLCMember_z12XB2BR6ptb"&gt;three years&lt;/span&gt;
with equal monthly payments including interest. The funds were used to replace the loans at Midland for the purchase of the &lt;span id="xdx_905_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zBp1AgiPAClk" title="Debt instrument interest rate stated percentage"&gt;65&lt;/span&gt;% interest
in ENP Investments and the new manufacturing equipment. Interest expense for the three months ended March 31, 2024 was $&lt;span id="xdx_90B_eus-gaap--InterestExpenseDebt_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zAyUisVq7Ux8"&gt;11,801&lt;/span&gt; (2023
- $&lt;span id="xdx_90B_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230331__dei--LegalEntityAxis__custom--NanoChemMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zdHFjtLZidHa"&gt;19,409&lt;/span&gt;). The balance owing at March 31, 2024 was $&lt;span id="xdx_903_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zFP5nO9PVlL1" title="Debt Long term debt amount"&gt;842,828&lt;/span&gt; (December 31, 2023 - $&lt;span id="xdx_902_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--NanoChemMember_zckraeekMEGe" title="Debt Long term debt amount"&gt;1,004,748&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(c)
&lt;/b&gt;In January 2020 ENP Peru signed a $&lt;span id="xdx_909_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zfCEMzKHFXLl" title="Debt instrument face amount"&gt;3,000,000&lt;/span&gt; loan with an interest rate &lt;span id="xdx_904_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_ztJhSrPuyIF1" title="Debt instrument interest rate stated percentage"&gt;4.35&lt;/span&gt;% to be repaid over &lt;span id="xdx_90A_eus-gaap--DebtInstrumentTerm_c20200101__20200131__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zsdUZQEj1lf2"&gt;ten years&lt;/span&gt; with equal monthly payments
including interest. Upon the purchase of the remainder of ENP Peru in June 2022, the Company assumed the first mortgage at Stock Yards
with a balance of $&lt;span id="xdx_901_eus-gaap--LoansPayable_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zwrxvzapWXS4" title="First mortgage"&gt;2,849,500&lt;/span&gt;. Interest expense for the three months ended March 31, 2024 was $&lt;span id="xdx_90F_eus-gaap--InterestExpense_pp0p0_c20240101__20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zRnuJ0HuMJCj" title="Interest expense"&gt;30,003&lt;/span&gt; (2023 - $&lt;span id="xdx_90C_eus-gaap--InterestExpense_pp0p0_c20230101__20230331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zusO4ljsVE8e" title="Interest expense"&gt;30,530&lt;/span&gt;). The balance owing
at March 31, 2024 was $&lt;span id="xdx_906_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zZ9o0aGt4zZ3" title="Debt instrument face amount"&gt;2,717,683&lt;/span&gt; (December 31, 2023 - $&lt;span id="xdx_90B_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruOneMember_zVnEJr557XCc" title="Debt instrument face amount"&gt;2,737,232&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(d)
&lt;/b&gt;In June 2022, ENP Peru obtained a second mortgage for $&lt;span id="xdx_90C_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zaVOb6TVz5gd" title="Debt instrument face amount"&gt;259,000&lt;/span&gt; with Stock Yards to be repaid over &lt;span id="xdx_904_eus-gaap--DebtInstrumentTerm_dtY_c20220601__20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zPoiulLiA8t7" title="Debt instrument term"&gt;10&lt;/span&gt; years with monthly installments
plus interest with an interest rate of &lt;span id="xdx_902_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_uPure_c20220630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember__us-gaap--VariableRateAxis__us-gaap--PrimeRateMember__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember_zyb4Dw5kCvpf" title="Debt instrument interest rate stated percentage"&gt;5.4&lt;/span&gt;%. Interest expense for the three months ended March 31, 2024 was $&lt;span id="xdx_90E_eus-gaap--InterestExpenseDebt_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zIXx3rm36Y84" title="Interest expense debt"&gt;3,409&lt;/span&gt; (2023 - $&lt;span id="xdx_90A_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230331__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zd64tq4eVeOg" title="Interest expense debt"&gt;3,452&lt;/span&gt;). The
balance owing at March 31, 2024 was $&lt;span id="xdx_90B_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20240331__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zwEFjT3dAo84" title="Debt instrument face amount"&gt;248,658&lt;/span&gt; (December 31, 2023 - $&lt;span id="xdx_90E_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20231231__dei--LegalEntityAxis__custom--ENPPeruInvestmentsMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__us-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--MidlandBankMember_zvjg9h5zCX14" title="Debt instrument face amount"&gt;250,207&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(e)
&lt;/b&gt;In December 2022, NanoChem signed a three year loan for up to $&lt;span id="xdx_90B_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zaUo67D94lG1" title="Debt instrument face amount"&gt;2,000,000&lt;/span&gt; with Stock Yards with an interest rate of &lt;span id="xdx_907_eus-gaap--DebtInstrumentInterestRateStatedPercentage_iI_pid_dp_c20221231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zAXbLVdeaVdc" title="Debt instrument interest rate stated percentage"&gt;6.5&lt;/span&gt;%. Interest
only payments are required for the first 18 months with interest and principal being paid in the last 18 months. The funds are being
used to purchase new manufacturing equipment. Interest expense for the three months ended March 31, 2024 was $&lt;span id="xdx_90E_eus-gaap--InterestExpenseDebt_pp0p0_c20240101__20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zBovbHyQmMO7" title="Interest expense debt"&gt;23,525&lt;/span&gt; (2022 - $&lt;span id="xdx_90E_eus-gaap--InterestExpenseDebt_pp0p0_c20230101__20230331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zwPY80uzMKT6" title="Interest expense debt"&gt;15,917&lt;/span&gt;).
The balance owing at March 31, 2024 was $&lt;span id="xdx_907_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zDtaX79d7M9k" title="Debt Long term debt amount"&gt;1,533,004&lt;/span&gt; (December 31, 2023 - $&lt;span id="xdx_908_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--NanoChemMember_zR6fZkUXVUHd" title="Debt Long term debt amount"&gt;1,475,188&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(f)
&lt;/b&gt;In June 2023, 317 Mendota signed a five year loan for up to $&lt;span id="xdx_907_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_c20230630__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zNQDDllmHHR5" title="Debt instrument face amount"&gt;3,240,000&lt;/span&gt; with Stock Yards to purchase a building and any necessary
renovations. Interest only payments are required for the first 12 months with interest and principal being paid the remaining four years
and a lump sum due in June 2028. Interest expense for the three months ended March 31, 2024 was $&lt;span id="xdx_906_eus-gaap--InterestExpenseDebt_pp0p0_c20240101__20240331__dei--LegalEntityAxis__custom--MendotaMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zTpEMF3Gx7O5" title="Interest expense debt"&gt;46,886&lt;/span&gt; (2023 - $&lt;span id="xdx_90A_eus-gaap--InterestExpenseDebt_pp0p0_dxL_c20230101__20230331__dei--LegalEntityAxis__custom--MendotaMember__us-gaap--DebtInstrumentAxis__custom--TermLoanMember_zs0csiEgNhK8" title="Interest expense debt::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1047"&gt;nil&lt;/span&gt;&lt;/span&gt;). The balance owing
at March 31, 2024 was $&lt;span id="xdx_90A_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20240331__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zo9NCH2llbLb" title="Debt Long term debt amount"&gt;2,248,292&lt;/span&gt; (December 31, 2023 - $&lt;span id="xdx_901_eus-gaap--DebtDefaultLongtermDebtAmount_iI_pp0p0_c20231231__us-gaap--DebtInstrumentAxis__custom--TermLoanMember__dei--LegalEntityAxis__custom--MendotaMember_zo2H5WXxe93b" title="Debt Long term debt amount"&gt;2,248,292&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_89B_ecustom--ScheduleOfLoanCovenantsTableTextBlock_zctQHSpVvtJg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of March 31, 2024, Company was in compliance with all loan covenants.&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BA_zUAR8iZADcfg" style="display: none"&gt;SCHEDULE OF LOAN COVENANTS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left; font-weight: bold; vertical-align: bottom"&gt;Continuity&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20240101__20240331_zuvSIOgZZKqc" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;March 31, 2024&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20230101__20231231_z8EO1z0rNh5i" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LongTermDebt_iS_zNXYxEIrIj02" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 64%"&gt;Balance, January 1&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;8,114,936&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;6,154,077&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--LongTermDebt_iS_zdqLEef9LpU6" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Balance, beginning of period&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;8,114,936&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;6,154,077&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_405_eus-gaap--ProceedsFromBankDebt_z0JaLlKrZhfe" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Plus: Proceeds from loans&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;57,816&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,686,682&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--PaymentsForProceedsFromDepositOnLoan_iN_di_zsZ1MqOd0r6h" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less: Payments on loan&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(185,916&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(725,823&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--LongTermDebt_iE_zEOdrvquHLP9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Balance, end of period&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;7,986,836&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;8,114,936&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AE_zwcWRYTKznTi" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_895_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_zHq2OSm8TR99" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BA_zpmGuloqtTz8" style="display: none"&gt;SCHEDULE
OF OUTSTANDING BALANCE LOAN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left; font-weight: bold; vertical-align: bottom"&gt;Outstanding balance&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20240331_z8A36R3eeH56" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;March 31, 2024&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20231231_zYDcAy9kNwo5" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember_zAODdPJxaeNl" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 64%; text-align: left"&gt;a) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;396,371&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;399,269&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustOneMember_zskNnlR1yKPa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;b) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;842,828&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,004,748&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustTwoMember_ze89XPgI9e8b" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;c) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,717,683&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,737,232&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustThreeMember_zZ0mDuwqgoP8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;d) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;248,658&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;250,207&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFourMember_z8T9U2fsjLLi" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;e) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,533,004&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,475,188&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFiveMember_zvyexy9NES97" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;f) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;2,248,292&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;2,248,292&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--LongTermDebt_iI_zwuME8OzTate" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Long-term debt&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,986,836&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,114,936&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--LongTermDebtCurrent_iNI_di_znUU2mJDF2yl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less: current portion&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(1,665,440&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(1,281,632&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LongTermDebtNoncurrent_iI_zoVkVnZ9G1Mb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Long-term debt non current&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;6,321,396&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;6,833,304&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AD_z9EQX5Zniw0d" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




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

</us-gaap:LongTermDebtTextBlock>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      decimals="0"
      id="Fact000977"
      unitRef="USD">450000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2020-01-012020-01-31_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember"
      id="Fact000978">P10Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2020-01-31_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember"
      decimals="INF"
      id="Fact000979"
      unitRef="Pure">0.0435</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      id="Fact000980">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      decimals="INF"
      id="Fact000981"
      unitRef="Pure">0.045</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:InterestExpenseDebt
      contextRef="From2024-01-012024-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      decimals="0"
      id="Fact000983"
      unitRef="USD">4373</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="From2023-01-012023-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      decimals="0"
      id="Fact000985"
      unitRef="USD">4501</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2024-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      decimals="0"
      id="Fact000986"
      unitRef="USD">396371</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPMendotaMember"
      decimals="0"
      id="Fact000987"
      unitRef="USD">399269</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember"
      decimals="0"
      id="Fact000989"
      unitRef="USD">1935000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember"
      decimals="INF"
      id="Fact000991"
      unitRef="Pure">0.0490</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2022-06-012022-06-30_custom_StockYardsBankTrustMember_custom_EnpRealtyLLCMember"
      id="Fact000992">P3Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember"
      decimals="INF"
      id="Fact000994"
      unitRef="Pure">0.65</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:InterestExpenseDebt
      contextRef="From2024-01-012024-03-31_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember"
      decimals="0"
      id="Fact000995"
      unitRef="USD">11801</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="From2023-01-012023-03-31_custom_NanoChemMember_custom_TermLoanMember_custom_MidlandBankMember"
      decimals="0"
      id="Fact000996"
      unitRef="USD">19409</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2024-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember"
      decimals="0"
      id="Fact000998"
      unitRef="USD">842828</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_NanoChemMember"
      decimals="0"
      id="Fact001000"
      unitRef="USD">1004748</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      decimals="0"
      id="Fact001002"
      unitRef="USD">3000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      decimals="INF"
      id="Fact001004"
      unitRef="Pure">0.0435</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2020-01-012020-01-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      id="Fact001005">P10Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:LoansPayable
      contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      decimals="0"
      id="Fact001007"
      unitRef="USD">2849500</us-gaap:LoansPayable>
    <us-gaap:InterestExpense
      contextRef="From2024-01-012024-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      decimals="0"
      id="Fact001009"
      unitRef="USD">30003</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2023-01-012023-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      decimals="0"
      id="Fact001011"
      unitRef="USD">30530</us-gaap:InterestExpense>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2024-03-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      decimals="0"
      id="Fact001013"
      unitRef="USD">2717683</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruOneMember"
      decimals="0"
      id="Fact001015"
      unitRef="USD">2737232</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember"
      decimals="0"
      id="Fact001017"
      unitRef="USD">259000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentTerm
      contextRef="From2022-06-012022-06-30_custom_TermLoanMember_custom_MidlandBankMember_custom_ENPPeruInvestmentsMember"
      id="Fact001019">P10Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2022-06-30_custom_TermLoanMember_custom_MidlandBankMember_us-gaap_PrimeRateMember_custom_ENPPeruInvestmentsMember"
      decimals="INF"
      id="Fact001021"
      unitRef="Pure">0.054</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:InterestExpenseDebt
      contextRef="From2024-01-012024-03-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember"
      decimals="0"
      id="Fact001023"
      unitRef="USD">3409</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="From2023-01-012023-03-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember"
      decimals="0"
      id="Fact001025"
      unitRef="USD">3452</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2024-03-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember"
      decimals="0"
      id="Fact001027"
      unitRef="USD">248658</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2023-12-31_custom_ENPPeruInvestmentsMember_custom_TermLoanMember_custom_MidlandBankMember"
      decimals="0"
      id="Fact001029"
      unitRef="USD">250207</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_NanoChemMember"
      decimals="0"
      id="Fact001031"
      unitRef="USD">2000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="AsOf2022-12-31_custom_TermLoanMember_custom_NanoChemMember"
      decimals="INF"
      id="Fact001033"
      unitRef="Pure">0.065</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:InterestExpenseDebt
      contextRef="From2024-01-012024-03-31_custom_TermLoanMember_custom_NanoChemMember"
      decimals="0"
      id="Fact001035"
      unitRef="USD">23525</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="From2023-01-012023-03-31_custom_TermLoanMember_custom_NanoChemMember"
      decimals="0"
      id="Fact001037"
      unitRef="USD">15917</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2024-03-31_custom_TermLoanMember_custom_NanoChemMember"
      decimals="0"
      id="Fact001039"
      unitRef="USD">1533004</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_NanoChemMember"
      decimals="0"
      id="Fact001041"
      unitRef="USD">1475188</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="AsOf2023-06-30_custom_TermLoanMember_custom_MendotaMember"
      decimals="0"
      id="Fact001043"
      unitRef="USD">3240000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:InterestExpenseDebt
      contextRef="From2024-01-012024-03-31_custom_MendotaMember_custom_TermLoanMember"
      decimals="0"
      id="Fact001045"
      unitRef="USD">46886</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2024-03-31_custom_TermLoanMember_custom_MendotaMember"
      decimals="0"
      id="Fact001049"
      unitRef="USD">2248292</us-gaap:DebtDefaultLongtermDebtAmount>
    <us-gaap:DebtDefaultLongtermDebtAmount
      contextRef="AsOf2023-12-31_custom_TermLoanMember_custom_MendotaMember"
      decimals="0"
      id="Fact001051"
      unitRef="USD">2248292</us-gaap:DebtDefaultLongtermDebtAmount>
    <FSI:ScheduleOfLoanCovenantsTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001053">&lt;p id="xdx_89B_ecustom--ScheduleOfLoanCovenantsTableTextBlock_zctQHSpVvtJg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of March 31, 2024, Company was in compliance with all loan covenants.&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;span id="xdx_8BA_zUAR8iZADcfg" style="display: none"&gt;SCHEDULE OF LOAN COVENANTS&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left; font-weight: bold; vertical-align: bottom"&gt;Continuity&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20240101__20240331_zuvSIOgZZKqc" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;March 31, 2024&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20230101__20231231_z8EO1z0rNh5i" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LongTermDebt_iS_zNXYxEIrIj02" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 64%"&gt;Balance, January 1&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;8,114,936&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;6,154,077&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--LongTermDebt_iS_zdqLEef9LpU6" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Balance, beginning of period&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;8,114,936&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;6,154,077&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr id="xdx_405_eus-gaap--ProceedsFromBankDebt_z0JaLlKrZhfe" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Plus: Proceeds from loans&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;57,816&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,686,682&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--PaymentsForProceedsFromDepositOnLoan_iN_di_zsZ1MqOd0r6h" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less: Payments on loan&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(185,916&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(725,823&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--LongTermDebt_iE_zEOdrvquHLP9" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;Balance, end of period&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;7,986,836&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;8,114,936&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</FSI:ScheduleOfLoanCovenantsTableTextBlock>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001055"
      unitRef="USD">8114936</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001056"
      unitRef="USD">6154077</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001058"
      unitRef="USD">8114936</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2022-12-31"
      decimals="0"
      id="Fact001059"
      unitRef="USD">6154077</us-gaap:LongTermDebt>
    <us-gaap:ProceedsFromBankDebt
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact001061"
      unitRef="USD">57816</us-gaap:ProceedsFromBankDebt>
    <us-gaap:ProceedsFromBankDebt
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001062"
      unitRef="USD">2686682</us-gaap:ProceedsFromBankDebt>
    <us-gaap:PaymentsForProceedsFromDepositOnLoan
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact001064"
      unitRef="USD">185916</us-gaap:PaymentsForProceedsFromDepositOnLoan>
    <us-gaap:PaymentsForProceedsFromDepositOnLoan
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact001065"
      unitRef="USD">725823</us-gaap:PaymentsForProceedsFromDepositOnLoan>
    <us-gaap:LongTermDebt
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001067"
      unitRef="USD">7986836</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001068"
      unitRef="USD">8114936</us-gaap:LongTermDebt>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001070">&lt;p id="xdx_895_eus-gaap--ScheduleOfDebtInstrumentsTextBlock_zHq2OSm8TR99" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8BA_zpmGuloqtTz8" style="display: none"&gt;SCHEDULE
OF OUTSTANDING BALANCE LOAN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left; font-weight: bold; vertical-align: bottom"&gt;Outstanding balance&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20240331_z8A36R3eeH56" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;March 31, 2024&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20231231_zYDcAy9kNwo5" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;December 31, 2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_404_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustMember_zAODdPJxaeNl" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 64%; text-align: left"&gt;a) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;396,371&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;399,269&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustOneMember_zskNnlR1yKPa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;b) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;842,828&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,004,748&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustTwoMember_ze89XPgI9e8b" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;c) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,717,683&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,737,232&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_408_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustThreeMember_zZ0mDuwqgoP8" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;d) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;248,658&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;250,207&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFourMember_z8T9U2fsjLLi" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;e) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,533,004&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,475,188&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--LongTermDebt_iI_hus-gaap--RelatedPartyTransactionsByRelatedPartyAxis__custom--StockYardsBankTrustFiveMember_zvyexy9NES97" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;f) Long term debt &#x2013; Stock Yards Bank &amp;amp; Trust&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;2,248,292&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;2,248,292&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--LongTermDebt_iI_zwuME8OzTate" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left"&gt;Long-term debt&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;7,986,836&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;8,114,936&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_405_eus-gaap--LongTermDebtCurrent_iNI_di_znUU2mJDF2yl" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Less: current portion&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(1,665,440&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(1,281,632&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40B_eus-gaap--LongTermDebtNoncurrent_iI_zoVkVnZ9G1Mb" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;span style="display: none; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Long-term debt non current&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;6,321,396&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 2.5pt double; text-align: right"&gt;6,833,304&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:LongTermDebt
      contextRef="AsOf2024-03-31_custom_StockYardsBankTrustMember"
      decimals="0"
      id="Fact001072"
      unitRef="USD">396371</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_StockYardsBankTrustMember"
      decimals="0"
      id="Fact001073"
      unitRef="USD">399269</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2024-03-31_custom_StockYardsBankTrustOneMember"
      decimals="0"
      id="Fact001075"
      unitRef="USD">842828</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_StockYardsBankTrustOneMember"
      decimals="0"
      id="Fact001076"
      unitRef="USD">1004748</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2024-03-31_custom_StockYardsBankTrustTwoMember"
      decimals="0"
      id="Fact001078"
      unitRef="USD">2717683</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_StockYardsBankTrustTwoMember"
      decimals="0"
      id="Fact001079"
      unitRef="USD">2737232</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2024-03-31_custom_StockYardsBankTrustThreeMember"
      decimals="0"
      id="Fact001081"
      unitRef="USD">248658</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_StockYardsBankTrustThreeMember"
      decimals="0"
      id="Fact001082"
      unitRef="USD">250207</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2024-03-31_custom_StockYardsBankTrustFourMember"
      decimals="0"
      id="Fact001084"
      unitRef="USD">1533004</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_StockYardsBankTrustFourMember"
      decimals="0"
      id="Fact001085"
      unitRef="USD">1475188</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2024-03-31_custom_StockYardsBankTrustFiveMember"
      decimals="0"
      id="Fact001087"
      unitRef="USD">2248292</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31_custom_StockYardsBankTrustFiveMember"
      decimals="0"
      id="Fact001088"
      unitRef="USD">2248292</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001090"
      unitRef="USD">7986836</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001091"
      unitRef="USD">8114936</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtCurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001093"
      unitRef="USD">1665440</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001094"
      unitRef="USD">1281632</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001096"
      unitRef="USD">6321396</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001097"
      unitRef="USD">6833304</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001099">&lt;p id="xdx_80D_eus-gaap--DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_zkkazxtJYvt3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;12.&lt;span id="xdx_826_zkZxwCc77ckl"&gt;
STOCK OPTIONS&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company has a stock option plan (&#x201c;Plan&#x201d;). The purpose of this Plan is to provide additional incentives to key employees,
officers, directors and consultants of the Company and its subsidiaries in order to help attract and retain the best available personnel
for positions of responsibility and otherwise promote the success of the Company&#x2019;s business. It is intended that options issued
under this Plan constitute non-qualified stock options. The general terms of awards under the option plan are that &lt;span id="xdx_906_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_pid_dp_uPure_c20240101__20240331_z4cpIRABcBt7" title="Options granted percentage"&gt;100&lt;/span&gt;% of the options
granted will vest the year following the grant unless a executive employee is granted a multi-year stock option grant where an equal
amount vests over the next &lt;span id="xdx_907_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_dtY_c20240101__20240331_zYNG2q5ld1Ka" title="Vested term"&gt;5&lt;/span&gt; years. The maximum term of options granted is &lt;span id="xdx_901_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_dtY_c20240101__20240331_zvWcFbs9wKak" title="Options maximum granted term"&gt;5&lt;/span&gt; years and the exercise price for all options are issued
for not less than fair market value at the date of the grant.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_895_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zMvM4uZk7tyk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes the Company&#x2019;s stock option activities for the year ended December 31, 2023 and the three-month period
ended March 31, 2024:&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;span id="xdx_8B7_zQYh6YqjJC1d" style="display: none"&gt;SCHEDULE OF STOCK OPTION ACTIVITIES&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;Number of shares&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Exercise price&lt;/p&gt;
                                                                                &lt;p style="margin-top: 0; margin-bottom: 0"&gt;per share&lt;/p&gt;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Weighted average&lt;/p&gt;
                                                                                &lt;p style="margin-top: 0; margin-bottom: 0"&gt;exercise price&lt;/p&gt;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%"&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20230101__20231231_zRO2EvRj112d" style="width: 14%; text-align: right" title="Number of shares, Beginning Balance"&gt;1,686,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zXCHqPiZOGQ" title="Exercise price per share, Beginning Balance"&gt;1.70&lt;/span&gt; &#x2013; &lt;span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zqWTzGQoqJ6k" title="Exercise price per share, Beginning Balance"&gt;4.13&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231_zWAKI7wnHI16" style="width: 14%; text-align: right" title="Weighted average exercise price, Beginning Balance"&gt;&#160;&#160;&#160;&#160;3.26&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Cancelled or expired&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20230101__20231231_z9T7ti2AEhXk" style="text-align: right" title="Number of shares, Cancelled or expired"&gt;(564,000&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_901_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_z9kuYRpRLq8i" title="Exercise price per share, Cancelled"&gt;3.46&lt;/span&gt; &#x2013; &lt;span id="xdx_90A_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zsj3WxPGJCI6" title="Exercise price per share, Cancelled"&gt;4.13&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231_zCXvtCAWBVD4" style="text-align: right" title="Weighted average exercise price, Cancelled or expired"&gt;3.55&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20230101__20231231_zcoNEah025tj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised"&gt;(8,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span id="xdx_900_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20230101__20231231_znPHz2x0PVIg" title="Exercise price per share, Exercised"&gt;1.70&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20230101__20231231_zqFXJZvdvti9" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised"&gt;1.70&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20240101__20240331_zjR2lSIkKZp7" style="text-align: right" title="Number of shares, Beginning Balance"&gt;1,114,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zYk8Tkx4o8va" title="Exercise price per share, Beginning Balance"&gt;1.75&lt;/span&gt; &#x2013;&lt;span id="xdx_90A_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zygHR4FcYYPh" title="Exercise price per share, Beginning Balance"&gt; 3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20240101__20240331_zTZA5TGiZGB7" title="Weighted average exercise price, Beginning Balance"&gt;3.13&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20240331_z24gLJACc8Dk" style="text-align: right" title="Number of shares, Granted"&gt;950,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20240101__20240331_zvfYlzmAxNJc" title="Exercise price per share, Granted"&gt;2.00&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20240101__20240331_zE1WCWaNmeuf" style="text-align: right" title="Weighted average exercise price, Granted"&gt;2.00&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Cancelled or expired&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20240101__20240331_z6zgjV2NDgb2" style="text-align: right" title="Number of shares, Cancelled or expired"&gt;(103,000&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_904_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zLc7ZjxguLIa" title="Exercise price per share, Cancelled"&gt;1.75&lt;/span&gt; &#x2013;&lt;span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zmsMC8sZlNrb" title="Exercise price per share, Cancelled"&gt; 3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20240101__20240331_z5K8ttDHcPc6" style="text-align: right" title="Weighted average exercise price, Cancelled or expired"&gt;2.06&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20240101__20240331_ziopQcBMwXia" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised"&gt;(15,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20240101__20240331_zm0Lrr8aewVg" title="Exercise price per share, Exercised"&gt;1.75&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20240101__20240331_zmAZQd3zSP66" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised"&gt;1.75&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance, March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pid_c20240101__20240331_zqzBFBl1dbCg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Ending Balance"&gt;1,946,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_909_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zJcDShU8qd22" title="Exercise price per share, Ending Balance"&gt;2.00&lt;/span&gt; &#x2013;&lt;span id="xdx_901_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zrcJk6OUNiZj" title="Exercise price per share, Ending Balance"&gt; 3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20240101__20240331_zx4CdsSwQDE" title="Weighted average exercise price, Ending Balance"&gt;2.65&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Exercisable, March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_pid_c20240101__20240331_zVrHK10EmC2d" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares Exercisable, Ending Balance"&gt;814,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zU2xdzutyQ82" title="Exercise price per share Exercisable, Ending Balance"&gt;2.00&lt;/span&gt; &#x2013; &lt;span id="xdx_904_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zG0yTZazPPf6" title="Exercise price per share Exercisable, Ending Balance"&gt;3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20240101__20240331_zppk7wGSFWEi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercisable, Ending Balance"&gt;2.86&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A8_ztkzaiAGbUui" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
weighted-average remaining contractual life of outstanding options is &lt;span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20240101__20240331_zkBxZby0b8m6" title="Weighted-average remaining contractual life"&gt;3.75&lt;/span&gt; years.&lt;/span&gt;&lt;/p&gt;

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

&lt;p id="xdx_892_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zaNhqUc3IFed" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair value of each option grant is calculated using the following weighted average assumptions:&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B3_zv5lfFd364Lf" style="display: none"&gt;SCHEDULE
OF STOCK OPTION FAIR VALUE ASSUMPTIONS&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left"&gt;Expected life &#x2013; years&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&lt;span id="xdx_905_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20240101__20240331_zUVxC27e0Phk" title="Expected life - years"&gt;3.0&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Interest rate&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zfsra40ugjM4" title="Interest rate"&gt;3.893&lt;/span&gt; &#x2013; &lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zFs1Hc1tzik9" title="Interest rate"&gt;4.22&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zfiGAlHTLXSe" title="Volatility"&gt;59.72&lt;/span&gt; &#x2013; &lt;span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zbwDmvCTNFHi" title="Volatility"&gt;60.35&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Weighted average fair value of options granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zkVQfm8QFdQ2" title="Weighted average fair value of options granted"&gt;0.71&lt;/span&gt; &#x2013; &lt;span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zvUHJTuNZnk1" title="Weighted average fair value of options granted"&gt;0.79&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AE_z4INlrl3mGgg" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the three months ended March 31, 2024, the Company granted &lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20240331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zOr2sTR37T2l" title="Stock options granted"&gt;56,000&lt;/span&gt; (2023 &#x2013;&lt;span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_dxL_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zt6G0N8vKzBd" title="Stock options granted::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1195"&gt; nil&lt;/span&gt;&lt;/span&gt;) stock options to consultants and has applied ASC
718 using the Black-Scholes option-pricing model, which resulted in expenses of $&lt;span id="xdx_90E_eus-gaap--StockOptionPlanExpense_c20240101__20240331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zJmC71fHl8Kc" title="Stock option expense"&gt;9,940&lt;/span&gt; (2023 - $&lt;span id="xdx_900_eus-gaap--StockOptionPlanExpense_dxL_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zxafheLVtVma" title="Stock option expense::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1199"&gt;nil&lt;/span&gt;&lt;/span&gt;). Options granted in other years
resulted in additional expenses of $&lt;span id="xdx_908_ecustom--AdditionalExpensesDueToOptionsGranted_dxL_c20240101__20240331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zi8G3gGzgKn8" title="Additional expenses due to options granted::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1201"&gt;nil&lt;/span&gt;&lt;/span&gt; (2023 &#x2013; $&lt;span id="xdx_900_ecustom--AdditionalExpensesDueToOptionsGranted_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zQFdDFrJCRw" title="Additional expenses due to options granted"&gt;62,241&lt;/span&gt;). During the three months ended March 31, 2024, employees were granted
&lt;span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20240331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zuYevHBx0xo7" title="Stock options granted"&gt;894,000&lt;/span&gt; (2023 &#x2013; &lt;span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_dxL_c20230101__20230331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zGvK25RZdOy3" title="Stock options granted::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1207"&gt;nil&lt;/span&gt;&lt;/span&gt;) stock options, which resulted in expenses of $&lt;span id="xdx_908_eus-gaap--StockOptionPlanExpense_c20240101__20240331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zUDOHCgL8rIh" title="Stock option expense"&gt;199,687&lt;/span&gt; (2023 &#x2013; $&lt;span id="xdx_90D_eus-gaap--StockOptionPlanExpense_dxL_c20230101__20230331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zUF7pQlysPZ3" title="Stock option expense::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1211"&gt;nil&lt;/span&gt;&lt;/span&gt;). Options granted in other years
resulted in additional expenses in the amount of $&lt;span id="xdx_909_ecustom--AdditionalExpensesDueToOptionsGranted_c20240101__20240331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zIFJ16obHnla" title="Additional expenses due to options granted"&gt;43,730&lt;/span&gt; for employees during the three months ended March 31, 2024 (2023 - $&lt;span id="xdx_90F_ecustom--AdditionalExpensesDueToOptionsGranted_c20230101__20230331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zQRc6WT3oXrc" title="Additional expenses due to options granted"&gt;328,769&lt;/span&gt;).
There were &lt;span id="xdx_901_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20240101__20240331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zvs30swkb6je" title="Stock options exercised"&gt;15,000&lt;/span&gt; employee and &lt;span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_dxL_c20240101__20240331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zgUsrqbTCfta" title="Stock options exercised::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1219"&gt;nil&lt;/span&gt;&lt;/span&gt; consultant stock options exercised during the three months ended March 31, 2024 (2023 &#x2013; &lt;span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20230101__20230331__srt--TitleOfIndividualAxis__custom--EmployeesMember_zFFriKI2AkWe" title="Stock options exercised"&gt;8,000&lt;/span&gt;
employee;&lt;span id="xdx_905_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_dxL_c20230101__20230331__srt--TitleOfIndividualAxis__custom--ConsultantsMember_zOOhbcU6Aq8k" title="Stock options exercised::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1223"&gt; nil&lt;/span&gt;&lt;/span&gt; consultant).&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;As
of March 31, 2024, there was approximately $&lt;span id="xdx_906_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_iI_pp0p0_c20240331_zxq5v9419A3g" title="Stock vested compensation non vested"&gt;822,813&lt;/span&gt; of compensation expense related to non-vested awards. This expense is expected to
be recognized over a weighted average period of &lt;span id="xdx_907_eus-gaap--EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_dtY_c20240101__20240331_zsw3z9I4JeR2" title="Weighted average period expected to be recognized"&gt;2.3&lt;/span&gt; years.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
aggregate intrinsic value of vested options outstanding at March 31, 2024 is $&lt;span id="xdx_901_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_dxL_c20240331__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zSHm3y1OxDK2" title="Aggregate intrinsic value of vested options::XDX::-"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1229"&gt;nil&lt;/span&gt;&lt;/span&gt; (2023 &#x2013; $&lt;span id="xdx_908_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue_iI_c20230331__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zqK6OzcEPS6f" title="Aggregate intrinsic value of vested options"&gt;161,430&lt;/span&gt;). The intrinsic value of options
exercised during the three months ended March 31, 2024 was $&lt;span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_c20240101__20240331__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_z3kAxik5jE9l" title="Aggregate intrinsic value of vested options exercised"&gt;720&lt;/span&gt; (2023 - $&lt;span id="xdx_90C_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_c20230101__20230331__us-gaap--IncomeTaxAuthorityNameAxis__us-gaap--CanadaRevenueAgencyMember_zkvmd1jWgQh5" title="Aggregate intrinsic value of vested options exercised"&gt;11,520&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

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




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

</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact001101"
      unitRef="Pure">1</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1 contextRef="From2024-01-01to2024-03-31" id="Fact001103">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod contextRef="From2024-01-01to2024-03-31" id="Fact001105">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001107">&lt;p id="xdx_895_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zMvM4uZk7tyk" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
following table summarizes the Company&#x2019;s stock option activities for the year ended December 31, 2023 and the three-month period
ended March 31, 2024:&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;/span&gt;&lt;span id="xdx_8B7_zQYh6YqjJC1d" style="display: none"&gt;SCHEDULE OF STOCK OPTION ACTIVITIES&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;Number of shares&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Exercise price&lt;/p&gt;
                                                                                &lt;p style="margin-top: 0; margin-bottom: 0"&gt;per share&lt;/p&gt;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;&lt;p style="margin-top: 0; margin-bottom: 0"&gt;Weighted average&lt;/p&gt;
                                                                                &lt;p style="margin-top: 0; margin-bottom: 0"&gt;exercise price&lt;/p&gt;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%"&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20230101__20231231_zRO2EvRj112d" style="width: 14%; text-align: right" title="Number of shares, Beginning Balance"&gt;1,686,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_908_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_zXCHqPiZOGQ" title="Exercise price per share, Beginning Balance"&gt;1.70&lt;/span&gt; &#x2013; &lt;span id="xdx_90F_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zqWTzGQoqJ6k" title="Exercise price per share, Beginning Balance"&gt;4.13&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20230101__20231231_zWAKI7wnHI16" style="width: 14%; text-align: right" title="Weighted average exercise price, Beginning Balance"&gt;&#160;&#160;&#160;&#160;3.26&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Cancelled or expired&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20230101__20231231_z9T7ti2AEhXk" style="text-align: right" title="Number of shares, Cancelled or expired"&gt;(564,000&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_901_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MinimumMember_z9kuYRpRLq8i" title="Exercise price per share, Cancelled"&gt;3.46&lt;/span&gt; &#x2013; &lt;span id="xdx_90A_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20230101__20231231__srt--RangeAxis__srt--MaximumMember_zsj3WxPGJCI6" title="Exercise price per share, Cancelled"&gt;4.13&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20230101__20231231_zCXvtCAWBVD4" style="text-align: right" title="Weighted average exercise price, Cancelled or expired"&gt;3.55&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20230101__20231231_zcoNEah025tj" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised"&gt;(8,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span id="xdx_900_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20230101__20231231_znPHz2x0PVIg" title="Exercise price per share, Exercised"&gt;1.70&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20230101__20231231_zqFXJZvdvti9" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised"&gt;1.70&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_pid_c20240101__20240331_zjR2lSIkKZp7" style="text-align: right" title="Number of shares, Beginning Balance"&gt;1,114,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90E_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zYk8Tkx4o8va" title="Exercise price per share, Beginning Balance"&gt;1.75&lt;/span&gt; &#x2013;&lt;span id="xdx_90A_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iS_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zygHR4FcYYPh" title="Exercise price per share, Beginning Balance"&gt; 3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_907_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20240101__20240331_zTZA5TGiZGB7" title="Weighted average exercise price, Beginning Balance"&gt;3.13&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_pid_c20240101__20240331_z24gLJACc8Dk" style="text-align: right" title="Number of shares, Granted"&gt;950,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span id="xdx_902_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice_c20240101__20240331_zvfYlzmAxNJc" title="Exercise price per share, Granted"&gt;2.00&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20240101__20240331_zE1WCWaNmeuf" style="text-align: right" title="Weighted average exercise price, Granted"&gt;2.00&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Cancelled or expired&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_iN_pid_di_c20240101__20240331_z6zgjV2NDgb2" style="text-align: right" title="Number of shares, Cancelled or expired"&gt;(103,000&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_904_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zLc7ZjxguLIa" title="Exercise price per share, Cancelled"&gt;1.75&lt;/span&gt; &#x2013;&lt;span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zmsMC8sZlNrb" title="Exercise price per share, Cancelled"&gt; 3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_c20240101__20240331_z5K8ttDHcPc6" style="text-align: right" title="Weighted average exercise price, Cancelled or expired"&gt;2.06&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Exercised&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98A_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_pid_di_c20240101__20240331_ziopQcBMwXia" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Exercised"&gt;(15,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span id="xdx_906_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice_c20240101__20240331_zm0Lrr8aewVg" title="Exercise price per share, Exercised"&gt;1.75&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20240101__20240331_zmAZQd3zSP66" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercised"&gt;1.75&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance, March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_pid_c20240101__20240331_zqzBFBl1dbCg" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares, Ending Balance"&gt;1,946,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_909_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zJcDShU8qd22" title="Exercise price per share, Ending Balance"&gt;2.00&lt;/span&gt; &#x2013;&lt;span id="xdx_901_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice_iE_pid_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zrcJk6OUNiZj" title="Exercise price per share, Ending Balance"&gt; 3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span id="xdx_90F_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20240101__20240331_zx4CdsSwQDE" title="Weighted average exercise price, Ending Balance"&gt;2.65&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Exercisable, March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_pid_c20240101__20240331_zVrHK10EmC2d" style="border-bottom: Black 1.5pt solid; text-align: right" title="Number of shares Exercisable, Ending Balance"&gt;814,000&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_903_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zU2xdzutyQ82" title="Exercise price per share Exercisable, Ending Balance"&gt;2.00&lt;/span&gt; &#x2013; &lt;span id="xdx_904_ecustom--SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice_iE_pid_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zG0yTZazPPf6" title="Exercise price per share Exercisable, Ending Balance"&gt;3.61&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_c20240101__20240331_zppk7wGSFWEi" style="border-bottom: Black 1.5pt solid; text-align: right" title="Weighted average exercise price, Exercisable, Ending Balance"&gt;2.86&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact001109"
      unitRef="Shares">1686000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2022-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001111"
      unitRef="USDPShares">1.70</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2022-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001113"
      unitRef="USDPShares">4.13</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2022-12-31"
      decimals="INF"
      id="Fact001115"
      unitRef="USDPShares">3.26</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact001117"
      unitRef="Shares">564000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice
      contextRef="From2023-01-012023-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001119"
      unitRef="USDPShares">3.46</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice
      contextRef="From2023-01-012023-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001121"
      unitRef="USDPShares">4.13</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact001123"
      unitRef="USDPShares">3.55</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact001125"
      unitRef="Shares">8000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact001127"
      unitRef="USDPShares">1.70</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-012023-12-31"
      decimals="INF"
      id="Fact001129"
      unitRef="USDPShares">1.70</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact001131"
      unitRef="Shares">1114000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2023-12-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001133"
      unitRef="USDPShares">1.75</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2023-12-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001135"
      unitRef="USDPShares">3.61</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="Fact001137"
      unitRef="USDPShares">3.13</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact001139"
      unitRef="Shares">950000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact001141"
      unitRef="USDPShares">2.00</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeGrantedOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact001143"
      unitRef="USDPShares">2.00</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact001145"
      unitRef="Shares">103000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice
      contextRef="From2024-01-012024-03-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001147"
      unitRef="USDPShares">1.75</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice
      contextRef="From2024-01-012024-03-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001149"
      unitRef="USDPShares">3.61</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeCancelledOrExpiredOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact001151"
      unitRef="USDPShares">2.06</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact001153"
      unitRef="Shares">15000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact001155"
      unitRef="USDPShares">1.75</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExcercisedOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact001157"
      unitRef="USDPShares">1.75</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact001159"
      unitRef="Shares">1946000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2024-03-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001161"
      unitRef="USDPShares">2.00</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice
      contextRef="AsOf2024-03-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001163"
      unitRef="USDPShares">3.61</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact001165"
      unitRef="USDPShares">2.65</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact001167"
      unitRef="Shares">814000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice
      contextRef="AsOf2024-03-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001169"
      unitRef="USDPShares">2.00</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice>
    <FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice
      contextRef="AsOf2024-03-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001171"
      unitRef="USDPShares">3.61</FSI:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingExercisableOptionsExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2024-03-31"
      decimals="INF"
      id="Fact001173"
      unitRef="USDPShares">2.86</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="From2024-01-01to2024-03-31" id="Fact001175">P3Y9M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001177">&lt;p id="xdx_892_eus-gaap--ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_zaNhqUc3IFed" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
fair value of each option grant is calculated using the following weighted average assumptions:&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B3_zv5lfFd364Lf" style="display: none"&gt;SCHEDULE
OF STOCK OPTION FAIR VALUE ASSUMPTIONS&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 80%; text-align: left"&gt;Expected life &#x2013; years&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;&lt;span id="xdx_905_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_dtY_c20240101__20240331_zUVxC27e0Phk" title="Expected life - years"&gt;3.0&lt;/span&gt;&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left"&gt;Interest rate&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zfsra40ugjM4" title="Interest rate"&gt;3.893&lt;/span&gt; &#x2013; &lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_pid_dp_uPure_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zFs1Hc1tzik9" title="Interest rate"&gt;4.22&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Volatility&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_900_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zfiGAlHTLXSe" title="Volatility"&gt;59.72&lt;/span&gt; &#x2013; &lt;span id="xdx_90C_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_pid_dp_uPure_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zbwDmvCTNFHi" title="Volatility"&gt;60.35&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;%&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Weighted average fair value of options granted&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_906_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20240101__20240331__srt--RangeAxis__srt--MinimumMember_zkVQfm8QFdQ2" title="Weighted average fair value of options granted"&gt;0.71&lt;/span&gt; &#x2013; &lt;span id="xdx_903_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_pid_c20240101__20240331__srt--RangeAxis__srt--MaximumMember_zvUHJTuNZnk1" title="Weighted average fair value of options granted"&gt;0.79&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="From2024-01-01to2024-03-31" id="Fact001179">P3Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="From2024-01-012024-03-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001181"
      unitRef="Pure">0.03893</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="From2024-01-012024-03-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001183"
      unitRef="Pure">0.0422</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="From2024-01-012024-03-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001185"
      unitRef="Pure">0.5972</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="From2024-01-012024-03-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001187"
      unitRef="Pure">0.6035</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2024-01-012024-03-31_srt_MinimumMember"
      decimals="INF"
      id="Fact001189"
      unitRef="USDPShares">0.71</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2024-01-012024-03-31_srt_MaximumMember"
      decimals="INF"
      id="Fact001191"
      unitRef="USDPShares">0.79</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2024-01-012024-03-31_custom_ConsultantsMember"
      decimals="INF"
      id="Fact001193"
      unitRef="Shares">56000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:StockOptionPlanExpense
      contextRef="From2024-01-012024-03-31_custom_ConsultantsMember"
      decimals="0"
      id="Fact001197"
      unitRef="USD">9940</us-gaap:StockOptionPlanExpense>
    <FSI:AdditionalExpensesDueToOptionsGranted
      contextRef="From2023-01-012023-03-31_custom_ConsultantsMember"
      decimals="0"
      id="Fact001203"
      unitRef="USD">62241</FSI:AdditionalExpensesDueToOptionsGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2024-01-012024-03-31_custom_EmployeesMember"
      decimals="INF"
      id="Fact001205"
      unitRef="Shares">894000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:StockOptionPlanExpense
      contextRef="From2024-01-012024-03-31_custom_EmployeesMember"
      decimals="0"
      id="Fact001209"
      unitRef="USD">199687</us-gaap:StockOptionPlanExpense>
    <FSI:AdditionalExpensesDueToOptionsGranted
      contextRef="From2024-01-012024-03-31_custom_EmployeesMember"
      decimals="0"
      id="Fact001213"
      unitRef="USD">43730</FSI:AdditionalExpensesDueToOptionsGranted>
    <FSI:AdditionalExpensesDueToOptionsGranted
      contextRef="From2023-01-012023-03-31_custom_EmployeesMember"
      decimals="0"
      id="Fact001215"
      unitRef="USD">328769</FSI:AdditionalExpensesDueToOptionsGranted>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2024-01-012024-03-31_custom_EmployeesMember"
      decimals="INF"
      id="Fact001217"
      unitRef="Shares">15000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2023-01-012023-03-31_custom_EmployeesMember"
      decimals="INF"
      id="Fact001221"
      unitRef="Shares">8000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001225"
      unitRef="USD">822813</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="From2024-01-01to2024-03-31" id="Fact001227">P2Y3M18D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue
      contextRef="AsOf2023-03-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001231"
      unitRef="USD">161430</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="From2024-01-012024-03-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001233"
      unitRef="USD">720</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
      contextRef="From2023-01-012023-03-31_us-gaap_CanadaRevenueAgencyMember"
      decimals="0"
      id="Fact001235"
      unitRef="USD">11520</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001237">&lt;p id="xdx_801_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_zpkLwELTfxv4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;13.
&lt;span id="xdx_82D_z3ql4U8rKyne"&gt;CAPITAL STOCK&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the three months ended March 31, 2024, &lt;span id="xdx_90D_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20240101__20240331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zQ7BiIGnC7Nf" title="Stock options exercised"&gt;15,000&lt;/span&gt; shares were issued upon the exercise of employee stock options (2023 &#x2013; &lt;span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_pid_c20230101__20230331__us-gaap--AwardTypeAxis__us-gaap--EmployeeStockOptionMember_zZDCgeeOSgp6" title="Stock options exercised"&gt;8,000&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the three months ended March 31, 2023, the Company issued &lt;span id="xdx_900_eus-gaap--StockIssuedDuringPeriodSharesIssuedForServices_c20230101__20230331_zDbt6WugnwKb" title="Consultant for services, shares"&gt;1,272&lt;/span&gt; shares to a consultant for services rendered, resulting in an expense
of $&lt;span id="xdx_907_eus-gaap--StockIssuedDuringPeriodValueIssuedForServices_c20230101__20230331_zoapXh0OKkFe" title="Consultant for services, value"&gt;4,070&lt;/span&gt; on the unaudited interim condensed consolidated statements of income and comprehensive income for the three months ended March
31, 2023.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
2023, the Company announced a special dividend of $&lt;span id="xdx_90A_eus-gaap--DividendsPayableAmountPerShare_iI_pid_c20230331_zhU1B6hRV3F" title="Dividends per share"&gt;0.05&lt;/span&gt; per share that was paid on May 16, 2023 to shareholders.&lt;/span&gt;&lt;/p&gt;

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

</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2024-01-012024-03-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001239"
      unitRef="Shares">15000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="From2023-01-012023-03-31_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="Fact001241"
      unitRef="Shares">8000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="From2023-01-012023-03-31"
      decimals="INF"
      id="Fact001243"
      unitRef="Shares">1272</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact001245"
      unitRef="USD">4070</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:DividendsPayableAmountPerShare
      contextRef="AsOf2023-03-31"
      decimals="INF"
      id="Fact001247"
      unitRef="USDPShares">0.05</us-gaap:DividendsPayableAmountPerShare>
    <us-gaap:MinorityInterestDisclosureTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001249">&lt;p id="xdx_809_eus-gaap--MinorityInterestDisclosureTextBlock_zg3wf2sG34f8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;14.
&lt;span id="xdx_829_zu3B2a0Om7eh"&gt;NON-CONTROLLING INTERESTS&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;a&lt;span style="font-variant: small-caps"&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;ENP Investments is a limited liability corporation
(&#x201c;LLC&#x201d;) that manufactures and distributes golf, turf and ornamental agriculture products in Mendota, Illinois. The Company
owns a &lt;span id="xdx_902_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zzKq7fByr5w9" title="Subsidiary company ownership interest rate"&gt;65&lt;/span&gt;% interest in ENP Investments through its wholly-owned subsidiary NanoChem. An unrelated party (&#x201c;NCI&#x201d;) owns the
remaining &lt;span id="xdx_905_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zMwHe4nttmT2" title="Related party owner ship percentage"&gt;35&lt;/span&gt;% interest in ENP Investments. ENP Mendota is a wholly owned subsidiary of ENP Investments. ENP Mendota is a LLC that leases
warehouse space. For financial reporting purposes, the assets, liabilities and earnings of both of the LLC&#x2019;s are consolidated into
these financial statements. The NCI&#x2019;s ownership interest in ENP Investments is recorded in non-controlling interests in these consolidated
financial statements. The non-controlling interest represents NCI&#x2019;s interest in the earnings and equity of ENP Investments. ENP
Investments is allocated to the TPA segment.&lt;/span&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;ENP
Investments makes cash distributions to its equity owners based on formulas defined within its Ownership Interest Purchase Agreement
dated October 1, 2018. Distributions are defined in the Ownership Interest Purchase Agreement as cash on hand to the extent it exceeds
current and anticipated long-term and short-term needs, including, without limitation, needs for operating expenses, debt service, acquisitions,
reserves, and mandatory distributions, if any.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;From
the effective date of acquisition onward, the minimum distributions requirements under the Ownership Interest Purchase Agreement were
satisfied. The total distribution from the effective date of acquisition onward was $&lt;span id="xdx_900_eus-gaap--PaymentsToMinorityShareholders_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zwAljUs3j3m5" title="Partnership distribution to non-controlling interest"&gt;3,225,957&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_893_ecustom--ScheduleOfDistributionsTableTextBlock_zE8sFr1iJh45" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B6_zINo4BH5sTAi" style="display: none"&gt;SCHEDULE
OF DISTRIBUTIONS&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 82%"&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zZUAUi8CtNqj" style="width: 14%; text-align: right" title="Distribution to noncontrolling interests, Beginning balance"&gt;2,605,034&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Distribution&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zMrjK9ukj5Hf" style="text-align: right" title="Distribution"&gt;(719,439&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Non-controlling interest share of income&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zeKqmhItqBq8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income"&gt;1,015,604&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--MinorityInterest_iS_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zUEbqCghElc2" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance"&gt;2,901,199&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Non-controlling interest share of income&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zlggCZ8KNBi1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income"&gt;80,460&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance, March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--MinorityInterest_iE_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zmY1ohPtzAK4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Ending balance"&gt;2,981,659&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8AC_zvUqkSMJMbg4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;During
the three months ended March 31, 2024, the Company had sales of $&lt;span id="xdx_90C_eus-gaap--Revenues_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zVJJj40dW2ti" title="Sales"&gt;1,291,426&lt;/span&gt;
(2023 - $&lt;span id="xdx_900_eus-gaap--Revenues_c20230101__20230331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zNZRinL09Sxc" title="Sales"&gt;1,098,948&lt;/span&gt;)
to NCI, of which $&lt;span id="xdx_90A_eus-gaap--AccountsReceivableNetCurrent_iI_c20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zASyqW9NKLXh" title="Accounts receivable"&gt;5,381,282&lt;/span&gt;
is included in Accounts Receivable as of March 31, 2024 (December 31, 2023 &#x2013; $&lt;span id="xdx_901_eus-gaap--AccountsReceivableNetCurrent_iI_c20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember_zWJOJokZ8Efg" title="Accounts receivable"&gt;4,225,028&lt;/span&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;b&lt;span style="font-variant: small-caps"&gt;)
&lt;/span&gt;&lt;/b&gt;317 Mendota is a LLC that owns real estate that the Company intends to occupy part of while renting out the excess. The Company
owns a &lt;span id="xdx_90A_eus-gaap--SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest_pid_dp_uPure_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember_zjfKWDoDhMfl" title="Subsidiary company ownership interest rate"&gt;80&lt;/span&gt;% interest in 317 Mendota and an unrelated party (&#x201c;317 NCI&#x201d;) owns the remaining &lt;span id="xdx_908_eus-gaap--MinorityInterestOwnershipPercentageByParent_iI_pid_dp_uPure_c20240331__srt--OwnershipAxis__custom--MendotaLLCMember_zqfSfAnuK2Vk" title="Related party owner ship percentage"&gt;20&lt;/span&gt;% interest in 317 Mendota. For
financial reporting purposes, the assets, liabilities and earnings of 317 Mendota are consolidated into these financial statements. The
317 NCI&#x2019;s ownership interest in 317 Mendota is recorded in non-controlling interests in these consolidated financial statements.
The non-controlling interest represents 317 NCI&#x2019;s interest in the earnings and equity of 317 Mendota. 317 Mendota is allocated
to the TPA segment as that is the intended use of the building.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_893_ecustom--ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_zUPJOqfEJiI1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B9_zhhGxxdYpXek" style="display: none"&gt;SCHEDULE
OF NON CONTROLLING INTEREST RELATED TO ACQUISITION&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z9wXkLZjFNUk" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1285"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 82%"&gt;Acquisition&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--PaymentsToAcquireBusinessesAndInterestInAffiliates_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z4gghoiVDYD6" style="width: 14%; text-align: right" title="Distribution to noncontrolling interests, Acquisition"&gt;200,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Non-controlling interest share of income&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zIO75RBXXL8k" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Non-controlling interest share of loss"&gt;(35,483&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--MinorityInterest_iS_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zlT9R9TQsOpi" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance"&gt;164,517&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Non-controlling interest share of income&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zaoFMdorTMUd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Non-controlling interest share of loss"&gt;(21,477&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance, March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--MinorityInterest_iE_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zpGscKwB5ySe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Ending balance"&gt;143,040&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A8_z5aUvLNeYfs6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;&#160;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

</us-gaap:MinorityInterestDisclosureTextBlock>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2024-01-012024-03-31_custom_ENPInvestmentsLLCMember"
      decimals="INF"
      id="Fact001251"
      unitRef="Pure">0.65</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="AsOf2024-03-31_custom_ENPInvestmentsLLCMember"
      decimals="INF"
      id="Fact001253"
      unitRef="Pure">0.35</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="From2024-01-012024-03-31_custom_ENPInvestmentsLLCMember"
      decimals="0"
      id="Fact001255"
      unitRef="USD">3225957</us-gaap:PaymentsToMinorityShareholders>
    <FSI:ScheduleOfDistributionsTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001257">&lt;p id="xdx_893_ecustom--ScheduleOfDistributionsTableTextBlock_zE8sFr1iJh45" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B6_zINo4BH5sTAi" style="display: none"&gt;SCHEDULE
OF DISTRIBUTIONS&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 82%"&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zZUAUi8CtNqj" style="width: 14%; text-align: right" title="Distribution to noncontrolling interests, Beginning balance"&gt;2,605,034&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Distribution&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_983_eus-gaap--MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zMrjK9ukj5Hf" style="text-align: right" title="Distribution"&gt;(719,439&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Non-controlling interest share of income&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_985_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20230101__20231231__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zeKqmhItqBq8" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income"&gt;1,015,604&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--MinorityInterest_iS_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zUEbqCghElc2" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance"&gt;2,901,199&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Non-controlling interest share of income&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eus-gaap--NetIncomeLossAttributableToNoncontrollingInterest_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zlggCZ8KNBi1" style="border-bottom: Black 1.5pt solid; text-align: right" title="Non-controlling interest share of income"&gt;80,460&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance, March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--MinorityInterest_iE_c20240101__20240331__srt--OwnershipAxis__custom--ENPInvestmentsLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zmY1ohPtzAK4" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Ending balance"&gt;2,981,659&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</FSI:ScheduleOfDistributionsTableTextBlock>
    <us-gaap:MinorityInterest
      contextRef="AsOf2022-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001259"
      unitRef="USD">2605034</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001261"
      unitRef="USD">719439</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2023-01-012023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001263"
      unitRef="USD">1015604</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:MinorityInterest
      contextRef="AsOf2023-12-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001265"
      unitRef="USD">2901199</us-gaap:MinorityInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2024-01-012024-03-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001267"
      unitRef="USD">80460</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:MinorityInterest
      contextRef="AsOf2024-03-31_custom_ENPInvestmentsLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001269"
      unitRef="USD">2981659</us-gaap:MinorityInterest>
    <us-gaap:Revenues
      contextRef="From2024-01-012024-03-31_custom_ENPInvestmentsLLCMember"
      decimals="0"
      id="Fact001271"
      unitRef="USD">1291426</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2023-01-012023-03-31_custom_ENPInvestmentsLLCMember"
      decimals="0"
      id="Fact001273"
      unitRef="USD">1098948</us-gaap:Revenues>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2024-03-31_custom_ENPInvestmentsLLCMember"
      decimals="0"
      id="Fact001275"
      unitRef="USD">5381282</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="AsOf2023-12-31_custom_ENPInvestmentsLLCMember65959328"
      decimals="0"
      id="Fact001277"
      unitRef="USD">4225028</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest
      contextRef="From2024-01-012024-03-31_custom_MendotaLLCMember"
      decimals="INF"
      id="Fact001279"
      unitRef="Pure">0.80</us-gaap:SubsidiaryOfLimitedLiabilityCompanyOrLimitedPartnershipOwnershipInterest>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="AsOf2024-03-31_custom_MendotaLLCMember"
      decimals="INF"
      id="Fact001281"
      unitRef="Pure">0.20</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <FSI:ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001283">&lt;p id="xdx_893_ecustom--ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock_zUPJOqfEJiI1" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B9_zhhGxxdYpXek" style="display: none"&gt;SCHEDULE
OF NON CONTROLLING INTEREST RELATED TO ACQUISITION&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance, December 31, 2022&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eus-gaap--MinorityInterest_iS_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z9wXkLZjFNUk" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1285"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="width: 82%"&gt;Acquisition&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eus-gaap--PaymentsToAcquireBusinessesAndInterestInAffiliates_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_z4gghoiVDYD6" style="width: 14%; text-align: right" title="Distribution to noncontrolling interests, Acquisition"&gt;200,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Non-controlling interest share of income&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20230101__20231231__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zIO75RBXXL8k" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Non-controlling interest share of loss"&gt;(35,483&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;Balance, December 31, 2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98E_eus-gaap--MinorityInterest_iS_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zlT9R9TQsOpi" style="text-align: right" title="Distribution to noncontrolling interests, Beginning balance"&gt;164,517&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Non-controlling interest share of income&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_980_eus-gaap--NoncontrollingInterestDecreaseFromDeconsolidation_iN_di_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zaoFMdorTMUd" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Non-controlling interest share of loss"&gt;(21,477&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Balance, March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eus-gaap--MinorityInterest_iE_c20240101__20240331__srt--OwnershipAxis__custom--MendotaLLCMember__us-gaap--TypeOfArrangementAxis__custom--OwnershipInterestPurchaseAgreementMember_zpGscKwB5ySe" style="border-bottom: Black 1.5pt solid; text-align: right" title="Distribution to noncontrolling interests, Ending balance"&gt;143,040&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</FSI:ScheduleOfNonControllingInterestRelatedToAcquisitionTableTextBlock>
    <us-gaap:PaymentsToAcquireBusinessesAndInterestInAffiliates
      contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001287"
      unitRef="USD">200000</us-gaap:PaymentsToAcquireBusinessesAndInterestInAffiliates>
    <us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation
      contextRef="From2023-01-012023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001289"
      unitRef="USD">35483</us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation>
    <us-gaap:MinorityInterest
      contextRef="AsOf2023-12-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001291"
      unitRef="USD">164517</us-gaap:MinorityInterest>
    <us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation
      contextRef="From2024-01-012024-03-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001293"
      unitRef="USD">21477</us-gaap:NoncontrollingInterestDecreaseFromDeconsolidation>
    <us-gaap:MinorityInterest
      contextRef="AsOf2024-03-31_custom_MendotaLLCMember_custom_OwnershipInterestPurchaseAgreementMember"
      decimals="0"
      id="Fact001295"
      unitRef="USD">143040</us-gaap:MinorityInterest>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001297">&lt;p id="xdx_80E_eus-gaap--SegmentReportingDisclosureTextBlock_zs2xfqT288b3" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;15.
&lt;span id="xdx_82C_zZif9lWzj0nh"&gt;SEGMENTED, SIGNIFICANT CUSTOMER INFORMATION AND ECONOMIC DEPENDENCY&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company operates in&lt;span id="xdx_90A_eus-gaap--NumberOfOperatingSegments_dc_uSegments_c20240101__20240331_zqABCz4rEb73" title="Number of operating segments"&gt; two&lt;/span&gt; segments:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(a)
&lt;/b&gt;Energy and water conservation products (as shown under the column heading &#x201c;EWCP&#x201d; below), which consists of a (i) liquid
swimming pool blankets which save energy and water by inhibiting evaporation from the pool surface, and (ii) food-safe powdered form
of the active ingredient within the liquid blankets and which are designed to be used in still or slow moving drinking water sources.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;(b)
&lt;/b&gt;Biodegradable polymers, also known as TPA&#x2019;s (as shown under the column heading &#x201c;BCPA&#x201d; below), used by the petroleum,
chemical, utility and mining industries to prevent corrosion and scaling in water piping. This product can also be used in detergents
to increase biodegradability and in agriculture to increase crop yields by enhancing fertilizer uptake.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
third product line is nitrogen conservation products used for the agriculture industry. These products decrease the loss of nitrogen
fertilizer after initial application and allows less fertilizer to be used. These products are made and sold by the Company&#x2019;s TPA
division.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
accounting policies of the segments are the same as those described in Note 2, &lt;i&gt;Significant Accounting Policies&lt;/i&gt;. The Company evaluates
performance based on profit or loss from operations before income taxes, not including nonrecurring gains and losses and foreign exchange
gains and losses&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s reportable segments are strategic business units that offer different, but synergistic products and services. They are
managed separately because each business requires different technology and marketing strategies.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Three
months ended March 31, 2024:&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89E_eus-gaap--ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_zqDnDmYSK3Ek" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B4_zZKq8Czmzfyc" style="display: none"&gt;SCHEDULE
OF REPORTABLE SEGMENTS&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="vertical-align: bottom; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20240101__20240331__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z98B8I7cNv64" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;EWCP&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49F_20240101__20240331__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zMWbgi0evMHf" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;BCPA&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_ztpGkhAvIVkc" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;Consolidated&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_znhp3eGwkWO5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: justify"&gt;Sales&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;41,608&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;9,183,264&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;9,224,872&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InterestExpense_z4snAbsuGE94" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1307"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;175,266&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;175,266&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DepreciationNonproduction_zKloyDITOMQ2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Depreciation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,883&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;418,786&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;422,669&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_z2eGn9i9RMmk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Income tax expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;34,940&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;229,238&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;264,178&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NetIncomeLoss_zMxjEzR6asXd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Segment profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;18,540&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;438,685&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;457,225&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--SegmentAssets_zdfuOxHxFZ5g" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Segment assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,664,387&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;53,897,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;57,561,387&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zu9HQin2j463" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Expenditures for segment assets&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1327"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(477,350&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(477,350&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Three
months ended March 31, 2023:&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="vertical-align: bottom; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20230101__20230331__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zYnwCZgvnYlb" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;EWCP&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20230101__20230331__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z9eIIn0afSbi" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;BCPA&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zUvTro3MJX4i" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;Consolidated&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_z5xx5eA7GVO5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: justify"&gt;Sales&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;80,660&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;9,776,857&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;9,847,517&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InterestExpense_zgUvcwbxjfRc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1335"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;134,870&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;134,870&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DepreciationNonproduction_zNQsvUOAdIm5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Depreciation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,279&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;360,905&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;365,184&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zhu2ITk4jwVa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Income tax expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;915&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;298,862&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;299,777&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NetIncomeLoss_zYwaWXfxuZal" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Segment profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(151,728&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,116,222&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;964,494&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--SegmentAssets_zoTVvLhDxHD5" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Segment assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,858,968&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;50,079,080&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;52,938,048&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zoz7agY32ez1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Expenditures for segment assets&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1355"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(213,060&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(213,060&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A7_znhIQmsq6Sak" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;




&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_893_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zFjugEOZisUe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Sales
by territory are shown below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B1_z6ARdtI1cF23" style="display: none"&gt;SCHEDULE
OF REVENUE GENERATED IN UNITED STATES AND CANADA&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20240101__20240331_z2AigLgqTpih" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;Three months &lt;br/&gt; ended &lt;br/&gt; March 31, 2024&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49E_20230101__20230331_zcuktveNUvZc" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;Three months &lt;br/&gt; ended &lt;br/&gt; March 31, 2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__country--CA_zEQpJMYE33C6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&gt;Canada&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;88,478&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;116,680&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__custom--UnitedStatesandAbroadMember_ztrR0lRXydQk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;United States and abroad&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;9,136,394&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;9,730,837&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zTVxxJcQD2Tj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;9,224,872&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;9,847,517&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A6_zANNjdJUOMq6" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p id="xdx_89C_eus-gaap--ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_zE8ZjZzAgnLc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s long-lived assets (property, equipment, leaseholds, right of use assets, intangibles, and goodwill) are located in Canada
and the United States as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B1_zB515EvfaxAj" style="display: none"&gt;SCHEDULE
OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20240331_zwK6vI9iSN1l" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20231231_zFZKt8duuDHb" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December&#160;31,&#160;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--CA_zgNqraBZN14k" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&gt;Canada&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;135,299&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;142,577&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--US_zNrND2Talfib" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;United States&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;17,906,216&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;17,958,778&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--NoncurrentAssets_iI_zVPUcIRZm1O6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;18,041,515&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;18,101,355&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p id="xdx_8A4_zKRq2gZ2lv29" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Three
primary customers accounted for $&lt;span id="xdx_909_eus-gaap--AccountsReceivableNet_iI_c20240331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zz5qJqdb37nc" title="Accounts receivable, after allowance for credit loss"&gt;5,106,905&lt;/span&gt; (&lt;span id="xdx_909_ecustom--StockOptionExercisePercent_pid_dp_uPure_c20240101__20240331__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zh8Ae7anQTI7" title="Stock option exercise percent"&gt;55&lt;/span&gt;%) of sales during the three-month period ended March 31, 2024 (2023 - $&lt;span id="xdx_903_eus-gaap--AccountsReceivableNet_iI_c20230331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__srt--MajorCustomersAxis__custom--ThreeCustomersMember_zR2f08E9O2O7" title="Accounts receivable, after allowance for credit loss"&gt;4,366,106&lt;/span&gt; or &lt;span id="xdx_902_ecustom--StockOptionExercisePercent_pid_dp_uPure_c20230101__20230331__srt--MajorCustomersAxis__custom--ThreeCustomersMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember_zROhYjVikKIl" title="Stock option exercise percent"&gt;44&lt;/span&gt;%).&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="From2024-01-01to2024-03-31"
      decimals="INF"
      id="Fact001299"
      unitRef="Segments">2</us-gaap:NumberOfOperatingSegments>
    <us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001301">&lt;p id="xdx_89E_eus-gaap--ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock_zqDnDmYSK3Ek" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B4_zZKq8Czmzfyc" style="display: none"&gt;SCHEDULE
OF REPORTABLE SEGMENTS&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="vertical-align: bottom; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_496_20240101__20240331__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z98B8I7cNv64" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;EWCP&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49F_20240101__20240331__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zMWbgi0evMHf" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;BCPA&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20240101__20240331__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_ztpGkhAvIVkc" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;Consolidated&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_znhp3eGwkWO5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: justify"&gt;Sales&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;41,608&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;9,183,264&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;9,224,872&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InterestExpense_z4snAbsuGE94" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1307"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;175,266&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;175,266&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DepreciationNonproduction_zKloyDITOMQ2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Depreciation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,883&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;418,786&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;422,669&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_z2eGn9i9RMmk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Income tax expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;34,940&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;229,238&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;264,178&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NetIncomeLoss_zMxjEzR6asXd" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Segment profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;18,540&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;438,685&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;457,225&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--SegmentAssets_zdfuOxHxFZ5g" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Segment assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;3,664,387&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;53,897,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;57,561,387&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zu9HQin2j463" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Expenditures for segment assets&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1327"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(477,350&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(477,350&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Three
months ended March 31, 2023:&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="vertical-align: bottom; text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49C_20230101__20230331__srt--ProductOrServiceAxis__custom--EWCPMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zYnwCZgvnYlb" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;EWCP&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_499_20230101__20230331__srt--ProductOrServiceAxis__custom--BCPAMember__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_z9eIIn0afSbi" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;BCPA&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_495_20230101__20230331__us-gaap--StatementBusinessSegmentsAxis__custom--SegmentMember_zUvTro3MJX4i" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;Consolidated&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: justify"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_409_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_z5xx5eA7GVO5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 46%; text-align: justify"&gt;Sales&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;80,660&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;9,776,857&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 14%; text-align: right"&gt;9,847,517&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--InterestExpense_zgUvcwbxjfRc" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Interest expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1335"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;134,870&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;134,870&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_407_eus-gaap--DepreciationNonproduction_zNQsvUOAdIm5" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Depreciation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;4,279&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;360,905&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;365,184&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_402_eus-gaap--IncomeTaxExpenseBenefit_zhu2ITk4jwVa" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Income tax expense&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;915&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;298,862&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;299,777&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NetIncomeLoss_zYwaWXfxuZal" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: justify"&gt;Segment profit&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(151,728&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;1,116,222&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;964,494&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_ecustom--SegmentAssets_zoTVvLhDxHD5" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: justify"&gt;Segment assets&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;2,858,968&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;50,079,080&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;52,938,048&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_406_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_iN_di_zoz7agY32ez1" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Expenditures for segment assets&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl1355"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(213,060&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;(213,060&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001303"
      unitRef="USD">41608</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001304"
      unitRef="USD">9183264</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_SegmentMember"
      decimals="0"
      id="Fact001305"
      unitRef="USD">9224872</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:InterestExpense
      contextRef="From2024-01-012024-03-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001308"
      unitRef="USD">175266</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2024-01-012024-03-31_custom_SegmentMember"
      decimals="0"
      id="Fact001309"
      unitRef="USD">175266</us-gaap:InterestExpense>
    <us-gaap:DepreciationNonproduction
      contextRef="From2024-01-012024-03-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001311"
      unitRef="USD">3883</us-gaap:DepreciationNonproduction>
    <us-gaap:DepreciationNonproduction
      contextRef="From2024-01-012024-03-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001312"
      unitRef="USD">418786</us-gaap:DepreciationNonproduction>
    <us-gaap:DepreciationNonproduction
      contextRef="From2024-01-012024-03-31_custom_SegmentMember"
      decimals="0"
      id="Fact001313"
      unitRef="USD">422669</us-gaap:DepreciationNonproduction>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2024-01-012024-03-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001315"
      unitRef="USD">34940</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2024-01-012024-03-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001316"
      unitRef="USD">229238</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2024-01-012024-03-31_custom_SegmentMember"
      decimals="0"
      id="Fact001317"
      unitRef="USD">264178</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001319"
      unitRef="USD">18540</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001320"
      unitRef="USD">438685</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-03-31_custom_SegmentMember"
      decimals="0"
      id="Fact001321"
      unitRef="USD">457225</us-gaap:NetIncomeLoss>
    <FSI:SegmentAssets
      contextRef="From2024-01-012024-03-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001323"
      unitRef="USD">3664387</FSI:SegmentAssets>
    <FSI:SegmentAssets
      contextRef="From2024-01-012024-03-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001324"
      unitRef="USD">53897000</FSI:SegmentAssets>
    <FSI:SegmentAssets
      contextRef="From2024-01-012024-03-31_custom_SegmentMember"
      decimals="0"
      id="Fact001325"
      unitRef="USD">57561387</FSI:SegmentAssets>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2024-01-012024-03-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001328"
      unitRef="USD">477350</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2024-01-012024-03-31_custom_SegmentMember"
      decimals="0"
      id="Fact001329"
      unitRef="USD">477350</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001331"
      unitRef="USD">80660</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001332"
      unitRef="USD">9776857</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_SegmentMember"
      decimals="0"
      id="Fact001333"
      unitRef="USD">9847517</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:InterestExpense
      contextRef="From2023-01-012023-03-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001336"
      unitRef="USD">134870</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2023-01-012023-03-31_custom_SegmentMember"
      decimals="0"
      id="Fact001337"
      unitRef="USD">134870</us-gaap:InterestExpense>
    <us-gaap:DepreciationNonproduction
      contextRef="From2023-01-012023-03-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001339"
      unitRef="USD">4279</us-gaap:DepreciationNonproduction>
    <us-gaap:DepreciationNonproduction
      contextRef="From2023-01-012023-03-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001340"
      unitRef="USD">360905</us-gaap:DepreciationNonproduction>
    <us-gaap:DepreciationNonproduction
      contextRef="From2023-01-012023-03-31_custom_SegmentMember"
      decimals="0"
      id="Fact001341"
      unitRef="USD">365184</us-gaap:DepreciationNonproduction>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-03-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001343"
      unitRef="USD">915</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-03-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001344"
      unitRef="USD">298862</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-012023-03-31_custom_SegmentMember"
      decimals="0"
      id="Fact001345"
      unitRef="USD">299777</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001347"
      unitRef="USD">-151728</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001348"
      unitRef="USD">1116222</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-03-31_custom_SegmentMember"
      decimals="0"
      id="Fact001349"
      unitRef="USD">964494</us-gaap:NetIncomeLoss>
    <FSI:SegmentAssets
      contextRef="From2023-01-012023-03-31_custom_EWCPMember_custom_SegmentMember"
      decimals="0"
      id="Fact001351"
      unitRef="USD">2858968</FSI:SegmentAssets>
    <FSI:SegmentAssets
      contextRef="From2023-01-012023-03-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001352"
      unitRef="USD">50079080</FSI:SegmentAssets>
    <FSI:SegmentAssets
      contextRef="From2023-01-012023-03-31_custom_SegmentMember"
      decimals="0"
      id="Fact001353"
      unitRef="USD">52938048</FSI:SegmentAssets>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-012023-03-31_custom_BCPAMember_custom_SegmentMember"
      decimals="0"
      id="Fact001356"
      unitRef="USD">213060</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-012023-03-31_custom_SegmentMember"
      decimals="0"
      id="Fact001357"
      unitRef="USD">213060</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001359">&lt;p id="xdx_893_eus-gaap--ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_zFjugEOZisUe" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Sales
by territory are shown below:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B1_z6ARdtI1cF23" style="display: none"&gt;SCHEDULE
OF REVENUE GENERATED IN UNITED STATES AND CANADA&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_498_20240101__20240331_z2AigLgqTpih" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;Three months &lt;br/&gt; ended &lt;br/&gt; March 31, 2024&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49E_20230101__20230331_zcuktveNUvZc" style="border-bottom: Black 1.5pt solid; vertical-align: bottom; text-align: center"&gt;Three months &lt;br/&gt; ended &lt;br/&gt; March 31, 2023&lt;/td&gt;&lt;td style="text-align: center; padding-bottom: 1.5pt; vertical-align: bottom"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40E_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__country--CA_zEQpJMYE33C6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&gt;Canada&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;88,478&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;116,680&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_403_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_hsrt--StatementGeographicalAxis__custom--UnitedStatesandAbroadMember_ztrR0lRXydQk" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;United States and abroad&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;9,136,394&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;9,730,837&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_zTVxxJcQD2Tj" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;9,224,872&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;9,847,517&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_country_CA"
      decimals="0"
      id="Fact001361"
      unitRef="USD">88478</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_country_CA"
      decimals="0"
      id="Fact001362"
      unitRef="USD">116680</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-012024-03-31_custom_UnitedStatesandAbroadMember"
      decimals="0"
      id="Fact001364"
      unitRef="USD">9136394</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31_custom_UnitedStatesandAbroadMember"
      decimals="0"
      id="Fact001365"
      unitRef="USD">9730837</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2024-01-01to2024-03-31"
      decimals="0"
      id="Fact001367"
      unitRef="USD">9224872</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-01-012023-03-31"
      decimals="0"
      id="Fact001368"
      unitRef="USD">9847517</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001370">&lt;p id="xdx_89C_eus-gaap--ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock_zE8ZjZzAgnLc" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
Company&#x2019;s long-lived assets (property, equipment, leaseholds, right of use assets, intangibles, and goodwill) are located in Canada
and the United States as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_8B1_zB515EvfaxAj" style="display: none"&gt;SCHEDULE
OF LONG-LIVED ASSETS ARE LOCATED IN CANADA AND UNITED STATE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.5in"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49B_20240331_zwK6vI9iSN1l" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;March 31, 2024&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_49D_20231231_zFZKt8duuDHb" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;December&#160;31,&#160;2023&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_400_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--CA_zgNqraBZN14k" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 60%"&gt;Canada&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;135,299&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 16%; text-align: right"&gt;142,577&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40C_eus-gaap--NoncurrentAssets_iI_hsrt--StatementGeographicalAxis__country--US_zNrND2Talfib" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;United States&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;17,906,216&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;17,958,778&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_40A_eus-gaap--NoncurrentAssets_iI_zVPUcIRZm1O6" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 1.5pt"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;18,041,515&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;18,101,355&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2024-03-31_country_CA"
      decimals="0"
      id="Fact001372"
      unitRef="USD">135299</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2023-12-31_country_CA"
      decimals="0"
      id="Fact001373"
      unitRef="USD">142577</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2024-03-31_country_US"
      decimals="0"
      id="Fact001375"
      unitRef="USD">17906216</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2023-12-31_country_US"
      decimals="0"
      id="Fact001376"
      unitRef="USD">17958778</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2024-03-31"
      decimals="0"
      id="Fact001378"
      unitRef="USD">18041515</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="Fact001379"
      unitRef="USD">18101355</us-gaap:NoncurrentAssets>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-03-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember"
      decimals="0"
      id="Fact001381"
      unitRef="USD">5106905</us-gaap:AccountsReceivableNet>
    <FSI:StockOptionExercisePercent
      contextRef="From2024-01-012024-03-31_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      id="Fact001383"
      unitRef="Pure">0.55</FSI:StockOptionExercisePercent>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-03-31_us-gaap_AccountsReceivableMember_custom_ThreeCustomersMember"
      decimals="0"
      id="Fact001385"
      unitRef="USD">4366106</us-gaap:AccountsReceivableNet>
    <FSI:StockOptionExercisePercent
      contextRef="From2023-01-012023-03-31_custom_ThreeCustomersMember_us-gaap_AccountsReceivableMember"
      decimals="INF"
      id="Fact001387"
      unitRef="Pure">0.44</FSI:StockOptionExercisePercent>
    <FSI:ComparativeFiguresTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001389">&lt;p id="xdx_800_ecustom--ComparativeFiguresTextBlock_zAAloxzNt3I9" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;16.
&lt;span id="xdx_820_zysznsIKpzM6"&gt;COMPARATIVE FIGURES&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Certain
of the comparative figures have been reclassified to conform with the current period&#x2019;s presentation.&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</FSI:ComparativeFiguresTextBlock>
    <us-gaap:SubsequentEventsTextBlock contextRef="From2024-01-01to2024-03-31" id="Fact001391">&lt;p id="xdx_800_eus-gaap--SubsequentEventsTextBlock_zYRNoYcHlWDb" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font: small-caps 10pt Times New Roman, Times, Serif"&gt;&lt;b&gt;17.
&lt;span id="xdx_820_z55srZrZUr51"&gt;SUBSEQUENT EVENTS&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0pt 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In
April 2024, the Company announced a special dividend of $&lt;span id="xdx_90C_eus-gaap--DividendsPayableAmountPerShare_iI_pid_c20240430__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember_zlv0OEexLJac" title="Dividends per share"&gt;0.10&lt;/span&gt;
per share that to be paid on May 16, 2024 to shareholders of record on April 30, 2024.&lt;/span&gt;&lt;/p&gt;

</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:DividendsPayableAmountPerShare
      contextRef="AsOf2024-04-30_us-gaap_SubsequentEventMember"
      decimals="INF"
      id="Fact001393"
      unitRef="USDPShares">0.10</us-gaap:DividendsPayableAmountPerShare>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
